Disease management system and method including medication therapy self-management

ABSTRACT

A method and system for patient medication therapy self-management. The system performs medication therapy self-management in a fully automated manner, using periodic interactive dialogs with a patient to obtain health state measurements from the patient. The system and method utilizes a computer usable medium having computer readable program code embodied therein for representing a description of a pain in a digitized form allowing the patient to directly interact with the program code via the periodic dialogs. The system and method utilizes a therapy alteration permission level (TAPL) limiting the possible self-adjustments available to the patient to change the patient&#39;s therapy. Via the interactive dialogs, the patient self-selects aspect words concerning the patient&#39;s current pain allowing the program code to adjust the patient&#39;s medication therapy within the TAPL.

RELATED APPLICATIONS

This application is a continuation of application Ser. No. 11/933,077filed Oct. 31, 2007, now pending, which is a divisional of applicationSer. No. 10/261,919, filed Oct. 1, 2002, which is a divisional ofapplication Ser. No. 09/818,187, filed Mar. 26, 2001, now abandoned,which is a divisional of application Ser. No. 09/042,075, filed Mar. 13,1998, now U.S. Pat. No. 6,234,964, which claims the benefit ofprovisional Application No. 60/040,522, filed Mar. 13, 1997, all ofwhich are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention generally relates to medical knowledge systems,and more specifically, to systems for computerized long-term managementof patient diseases.

DESCRIPTION OF THE RELATED TECHNOLOGY

Health is the ground upon which we lead our lives. Medicine is composedof diagnosis and treatment. Diagnosis means finding the cause of thepatient's problem; treating is the application of the best therapyavailable. However, not all diseases can be completely cured by atreatment regime.

Diseases such as asthma and diabetes may require a regular schedule oftreatment, termed therapy, for the duration of a patient's life. In thiscase, the disease is managed rather than cured. Disease management maybe defined as managing a patient with a known diagnosis with theintention of providing patient education and monitoring to preventsymptom flare ups and acute episodes of the disease in order toeliminate costly medical intervention and promote patient well being.The therapy portion of disease management must be custom-tailored to theresponse of a particular patient since diseased patients may responddifferently to the same treatment, e.g., a prescribed dosage andpharmaceuticals.

Since disease management creates reoccurring expenses to society, thereis a tremendous desire to reduce costs. One must understand a capitatedhealthcare system in the extreme to see why the goal is worth achieving.Advocates of a fully capitated system say that everyone will win. Takento the extreme no one will ever get sick, and doctors will be paid fornever seeing patients because there wouldn't be any patients. In a fullycapitated system, every person in the world pays a predetermined amountper person per month to health maintenance organizations whose solepurpose is to keep you healthy. This is an admirable goal, butimpossible to achieve. However, a realizable goal is to automate the waydiseases are managed.

The entire concept of disease management, carried to the extreme, is tovisualize a doctor following a patient around for 24 hours a day. Ofcourse, this is an unobtainable solution for the vast majority of thepopulation. To reduce costs, the doctor's knowledge must be disseminatedto the general public and one approach might be to not require thephysical presence of the doctor at the site of the patient.

Much of medicine is algorithmic. That is, the diagnosis follows asequence of steps to isolate the cause of the problem. Advanced cardiaclife support (ACLS) and advanced trauma life support (ATLS) have shownhow much care can be improved by setting standards. Some standards maybe translated into medicinal algorithms, which can help set the standardof care for physicians. The concept of telephone medical advice has beenproven by nationwide poison control centers, and physicians,particularly pediatricians, have practiced medicine over the telephonesince it was invented. In fact, the very first words uttered over thetelephone were an appeal for help, for Alexander Graham Bell had justspilled battery acid (for the batteries for the telephone) and said,“Come here, Mr. Watson, I need you” on Mar. 7, 1876. Today's so-calledtelemedicine remains a one-to-one relationship. The phenomenon oftelemedicine depends, in part, on best-practice guidelines helping makethe practice of medicine consistent.

Disease management is nothing less than the redesign of the practice ofmedicine. The problem with medicine was mostly one of information andarrangement of that information. Because of the development of thepersonal computer and standards, advances can now be made in diseasemanagement. In the past, doctors have been the repository of medicalinformation and the ones to “arrange” it so that it had clinicalmeaning. But these functions can now be performed in an automated wayusing the “lever” of telecommunication and computer technologies.

Disease management can involve coordinating care for patients across theentire health care continuum from birth to death. Disease management hasa program available for every part of everyone's life, includingprevention, diagnosis, treatment and rehabilitation. The processinvolves managing not only the patient with a particular disease, butalso the healthy patient. Too often, providers focuses on providingintensive and costly services to patients with acute episodes ofdisease. Disease management advocates seek a greater focus onpreventive, comprehensive care to improve the health of the entirepopulation. In a sense, disease management attempts to take the practiceof medicine out of the hands of physicians and puts it into the hands ofpatients.

Almost all “knowledge based” clinical reasoning could be performedbetter and more reliability by computers. Technology will drive thedemocratization of medicine. A system that can automate the practice ofmedicine, especially in disease management, and which encourages andtrains patients to play a major beneficial role in their medical healthcare is highly desired. Such a system should give a sustainable,substantive, and significant competitive advantage in a capitated healthcare marketplace. Such a system should be able to automatically identifyvery critical points in any disease process so that intervention isclinically, economically and humanistically maximized.

SUMMARY OF THE INVENTION

In one embodiment, there is an automated system for encoding asubjective experience of a patient's pain, the system comprising asoftware function configured to encode a subjective description of apatient's pain to represent a degree or description of pain; and a paincode array, wherein the pain code array comprises encoded numeric valuesrepresenting a plurality of different aspects of subjective patientdescriptions of pain.

In another embodiment, there is a computerized method for encoding adescription of a patient's pain into a pain code array, the methodcomprising storing a set of aspect words in a data storage, wherein theaspect words correspond to an aspect of pain; receiving one or moreaspect words from a patient that describe a pain of the patient;encoding the received aspect words into subcodes; and combining thesubcodes into a pain code array.

In another embodiment, there is an automated method for decoding adescription of pain from a pain code array, the method comprisingretrieving a pain code array containing one or more subcodes from astorage location of the pain code array; and decoding the subcodes ofthe pain code array into subjective aspect words.

In another embodiment, there is a computer usable medium having computerreadable program code embodied therein for representing a description ofa pain in a digitized form for adjusting therapy, the computer readablecode comprising instructions for storing a listing of aspect wordsdescribing a pain experienced by a patient; receiving a selection of anaspect word from the listing of aspect words; and converting thereceived aspect word into an integer subcode that represents thereceived aspect word.

In another embodiment, there is a computerized medical diagnosis method,comprising encoding a patient's subjective perception of pain into apain code; and indexing a database of diseases with the pain codethereby diagnosing a disease.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an automated medical diagnosis, treatment,disease management and information system of the present invention.

FIG. 2 a is a diagram of a configuration of components of the systemshown in FIG. 1.

FIG. 2 b is a diagram of a configuration of components of the servercomputer shown in FIGS. 1 and 2 a.

FIG. 3 is a block diagram of a portion of the processes and databasefiles utilized by the system of FIG. 1.

FIGS. 4 a, 4 b, 4 c and 4 d are a flowchart of the top-level processperformed by the system of FIG. 1.

FIG. 5 is a flowchart of the Disease Management Module process shown inFIG. 4 d and performed by the system of FIG. 1.

FIG. 6 is a flowchart of the Open Session process shown in FIG. 5.

FIG. 7 is a flowchart of the Health Assessment process shown in FIG. 5.

FIG. 8 is a flowchart of the Significant Symptom Filter process shown inFIG. 7.

FIG. 9 is a flowchart of the Severity Assessment function shown in FIG.8.

FIG. 10 is a flowchart of the Initial Health Assessment process shown inFIG. 7.

FIG. 11 is a flowchart of the Current Health Assessment process shown inFIG. 7.

FIG. 12 is a flowchart of the Correlation Assessment function shown inFIG. 11.

FIG. 13 is a flowchart of the Critical Curve Assessment process shown inFIG.

FIG. 14 is a flowchart of the Therapy Optimization process shown in FIG.5.

FIG. 15 is a flowchart of the Therapy Adjustment Based on SubjectiveHealth Data process shown in FIG. 14.

FIG. 16 is a flowchart of the Therapy Adjustment Based on ObjectiveHealth Data process shown in FIG. 14.

FIG. 17 is a flowchart of the Patient Consent Level function shown inFIGS. 15 and 16.

FIG. 18 is a flowchart of the Close Session process shown in FIG. 5.

FIGS. 19 a and 19 b are flowcharts of the Question Versions featureutilized by the Disease Management Module process shown in FIGS. 1 and5.

FIG. 20 is a flowchart of the Preview Mode feature utilized by theDisease Management Module process shown in FIGS. 1 and 5.

FIG. 21 is a flowchart of the No-Response feature utilized by theDisease Management Module process shown in FIGS. 1 and 5.

FIG. 22 a is a flowchart of a function utilized by the DiseaseManagement Module process shown in FIGS. 4 d and 5 and/or the Diagnosticprocess shown in FIG. 4 d in generating a PQRST (pain code) array entryfor a patient.

FIG. 22 b is a flowchart of a function utilized by the Diagnosticprocess shown in FIG. 4 d in retrieving a diagnosis using the PQRST(pain code) array entry stored for a patient in FIG. 22 a.

FIG. 23 is a graph of an exemplary critical curve plotting healthmeasurements over time for a particular disease.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The following detailed description of the preferred embodiments presentsa description of certain specific embodiments to assist in understandingthe claims. However, the present invention can be embodied in amultitude of different ways as defined and covered by the claims.Reference is now made to the drawings wherein like numerals refer tolike parts throughout.

The detailed description is organized into the following sections:

1. System Overview

2. System Processes and Databases

3. Top-level System Process Flow

4. Disease Management Overview

5. Disease Management Module

6. Open Session

7. Health Assessment

8. Significant Symptom Filter

9. Severity Assessment

10. Initial Health Assessment

11. Current Health Assessment

12. Correlation Assessment

13. Critical Curve Assessment

14. Therapy Optimization

15. Therapy Adjustment (Subjective)

16. Therapy Adjustment (Objective)

17. Patient Consent Level

18. Close Session

19. Question Versions

20. Preview Mode Feature

21. No-Response Feature

22. The PQRST Array

23. Disease Management Order (DMO)

24. Permissions Database

25. Regulatory Permissions

26. Sharing Permissions

27. Therapeutic Alteration Permission Level (TAPL)

28. Meta Structures

29. Meta Functions

30. Benefits of Disease Management

System Overview

Referring to FIG. 1, a computerized knowledge-based medical managementsystem 100 will be described. A disease management module (DMM) 80 andseveral other high-level service modules 82 perform automated medicalservices for the users of the medical management system 100. The servicemodules 82 may include Diagnosis, Treatment Table, Automated DemandManagement, Audio/Visual/Image Library, and Author Access. The DMM 80handles tasks associated with Disease Management (DM); its major goalsare to promote patient well-being, to educate patients, and to reducecostly medical intervention. The user may be a patient 114 or anassistant for a patient. Throughout this document, the words user andpatient are used interchangeably. However, it will be understood thatthe user may be acting as a proxy for the patient. If this is the case,the user is registered as an assistant for the patient. Appropriateregistration and login processes, described herein below, are utilizedby the system 100 for either the patient or the assistant.

The modules 80 and 82 are supported by an Operating System and supportsoftware 88, by a number of databases 84, and by a computing environment90 of an embedding computer hardware platform 110. The entire computerhardware-software-communications complex is operated and maintained by asupport staff All application tasks of the DMM 80 are fully automated.External contact of the DMM with patients, physicians, clinics,pharmacies, laboratories, and so on (collectively 92) are handled byautomated communications systems using appropriate media and methods ofthe computing environment 90, such as interactive voice response (IVR),direct modem-to-modem access, or access via the Internet 102. Thepatient 114 utilizes a computer 116 and monitor 118, a telephone 124, orother components, some of which are described in conjunction with FIG. 2a below, to communicate with the system computer platform 110.

Referring to FIG. 2 a, a block diagram of one embodiment of the medicalmanagement system 100 will be described. The system 100 includes anetwork “cloud” 102, which may represent a local area network (LAN), awide area network (WAN), the Internet, or another connection service.

The system programs and databases may reside on a group of servers 108that are preferably interconnected by a LAN 106 and a gateway 104 to thenetwork 102. Alternatively, the system programs and databases may resideon a single server 110 that utilizes network interface hardware andsoftware 112. The system servers 108/110 store the modules 80 and 82(FIG. 1).

The network 102 may connect to a user computer 116, for example, by useof a modem or by use of a network interface card. The user 114 at thecomputer 116 may utilize a browser 120 to remotely access the systemprograms using a keyboard and/or pointing device and a visual display,such as the monitor 118. Alternatively, the browser 120 is not utilizedwhen the system programs are executed in a local mode on the computer116. A video camera 122 may be optionally connected to the computer 116to provide visual input, such as visual symptoms or signs. Furthermore,clinical sounds could be picked up by the video camera or separatemicrophone (not shown).

Various other devices may be used to communicate with the system servers108/110. If the servers are equipped with voice recognition or DTMFhardware, the user can communicate with the system program by use of thetelephone 124. A telephonic embodiment is described in Applicant'sapplication entitled “Computerized Medical Diagnostic and TreatmentAdvice System,” U.S. application Ser. No. 08/176,041, filed Dec. 29,1993, which has issued as U.S. Pat. No. 5,660,176, and is herebyincorporated by reference. Other connection devices for communicatingwith the system servers 108/110 include a portable personal computer 126with a modem or wireless connection interface, a cable interface device128 connected to a visual display 130, or a satellite dish 132 connectedto a satellite receiver 134 and a television 136. Other ways of allowingcommunication between the user 114 and the system servers 108/110 areenvisioned.

Referring to FIG. 2 b, a diagram of one embodiment of a server computer110 shows several possible interconnections to the network. To “play” ascript, a special program called a Script Engine is used, which reads amedical diagnostic script file and uses its codes to perform interviewactions, such as outputting a question to a patient and inputting ananswer. The scripts may also collect the answers from the patient,evaluate the answers, issue a diagnosis, and update the patient'smedical record. The script engine may also reside in the user computer116 (FIG. 2 a). The script engine may be stored on the hard drive or aCD-ROM, and is loaded into the main memory or a cache for execution.

The components of a presently preferred server computer 110 of thecomputerized medical system 100 of the present invention, are shown inFIG. 2 b. The server computer 110 includes a plurality of componentswithin an enclosure. A telephone line 156 interfaces the publictelephone network 158 to the computer 110 via a modem 160. The telephonenetwork 158 may connect to the network 102, which has connections withthe system server(s) 108/110. Alternatively, the computer 110 mayconnect to the network 102 by use of a network interface card 164.

The hardware and system software are assembled with two basic conceptsin mind: portability to other operating systems and the use of industrystandard components. In this way, the system can be more flexible andwill allow free market competition to continually improve the product,while, at the same time, decreasing costs. While specific hardware andsoftware may be referenced, it will be understood that a panoply ofdifferent components could be used in the present system.

The computer 110 preferably is a personal computer with an Intel Pentiummicroprocessor 170. Other computers, such as an Apple Macintosh, anAmiga, a Digital Equipment Corporation VAX, or an IBM mainframe, couldalso be utilized. The modem 160 or the network interface card 164connects to an industry standard architecture (ISA) or a peripheralcomponent interconnect (PCI) bus 162. The bus 162 interconnects themicroprocessor 170 with a plurality of peripherals through controllercircuits (chips or boards).

The computer bus 162 has a plurality of peripherals connected to itthrough adapters or controllers. A video adapter board 172, preferablyat SVGA or better resolution, interconnects to a video monitor 118. Aserial communication circuit 176 interfaces with a pointing device, suchas a mouse 178. A parallel communication circuit may be used in place ofcircuit 176 in another embodiment. A keyboard controller circuit 180interfaces with a keyboard 182. A 500 Mb or greater hard disk drive 184and an optional CD-ROM drive 186 are preferably attached to the bus 162.The hard disk 184 stores database files such as the patient files, DMfiles, other system files, and binary support files. The CD-ROM drive186 also stores database files and binary support files.

A main memory 190 connects to the microprocessor 170. In one embodiment,the computer 110 may operate under the Windows 95 operating system 192.The memory 190 executes a diagnostic script engine (not shown) and adisease management module (DMM) process 220. Portions of the diseasemanagement module process software may be written in Borland DelphiPascal, version II, and other portions may be written in Microsoft ‘C’,version 7.0. Furthermore, in one embodiment, the database is implementedwith Microsoft Foxpro or another database program such as aSQL-compatible relational database program.

System Processes and Databases

Referring to FIG. 3, a portion of the processes, files, and databasesutilized by the medical management system 100 will be described. Exceptfor the DMM process, a Permissions database, an Imaging Modalitydatabase, a Laboratory Test database, a Diseases database, and other DMspecific databases which are described herein below, these processes,files, and databases were described in Applicant's patent entitled“Computerized Medical Diagnostic and Treatment Advice System,” U.S. Pat.No. 5,660,176.

The medical management system 100 utilizes several principal processesand related databases. A set of patient/assistant login processes 200,210 and 212 is used by the system 100 to identify a patient who haspreviously registered into the system in one of three ways: 1) byprompting for a patient identification number (PIN) in process 200; 2)identify an assistant who has previously registered into the system byprompting for an assistant identification number (AIN) in process 210;or 3) identify a patient, having an assistant, who has previouslyregistered into the system by prompting for the patient identificationnumber in process 212. One of a set of processes 202, 214 or 216 is usedto register a patient or assistant. If the user is the patient, apatient registration process is used by the system to register new orfirst-time patients in process 200. If the user is not the patient, anassistant registration process is used by the system to register new orfirst-time assistants in process 214. Then, if the patient is notalready registered, an assisted patient registration process is used bythe system to register the patient in process 216.

Once a user has logged in or registered, the system provides a choice ofprocesses. The primary process of concern in the current embodiment isthe DMM process 220 that manages a disease or condition of the patient.The DMM process 220 may access the laboratory test of choice database260 or imaging modality of choice database 258 in the course of diseasemanagement and a treatment table 250 to obtain current treatmentinformation for a particular disease or diagnosis. Associated with theseprocesses are a patient and assistant enrollment database 240, aconsultation history database 242, a patient response database 244, amedical history objects database 246, a patient medication database 248,a pending database 252, and a patient medical history database 254.These databases include an electronic medical record for each patientthat is registered with the medical system 100. The electronic medicalrecord contains all the information about each patient. A permissionsdatabase 256, a diseases database 262 and other DM specific databases264 will be described herein below. In another embodiment, other choicesare added to access other medical information processes.

Top-Level System Process Flow

Referring to FIGS. 4 a, 4 b, 4 c and 4 d, the top level flow 300 of themedical management system software will be described. A telephone numberused to access the system 100 via the telephone may vary in variousembodiments of the system. If the sponsoring agency or hospital wishesto provide access to the medical management system 100 at no cost to thecaller, then a toll-free (e.g., 800, 888 or other number) service numbercan be used. If the sponsoring agency or hospital wishes to recover thecosts of running the system 100 from the caller, it may use apay-per-call or premium charge number (e.g., 900 service). “CurrentProcedural Terminology” (CPT-4) codes are available to describe and billthird party payers for telephone consultations. They are a listing ofthe descriptive terms and identifying codes for reporting medicalservices and procedures. CPT-4 codes are the most widely acceptednomenclature for reporting physician services to insurance companies. Ifaccess is provided to the system 100 via the Internet or other network,an appropriate web address (or addresses) is provided to the user.

Beginning at a start state 302, the user 114 (FIG. 1) desiring medicaladvice dials the telephone number for the system 100 on the telephone124 (FIG. 2 a). The user may be the patient or may be an “assistant”,e.g., parent, relative, or friend, that is helping the patient.Alternatively, the user may access the system 100 though the usercomputer 116, such as through the Internet as previously described.Moving to state 304, the system 100 answers the call automatically andgreets the caller 114 with an introductory greeting message by playingback a speech file stored on the system hard drive by use of a voiceprocessing board, such as a D/41D available from Dialogic.Alternatively, if the user is using the browser 120 (FIG. 2 a) or otheruser interface on the Internet 102, a greeting message is displayed tothe user on the visual display 118. Thus the system 100 communicateswith the user 114 either by the telephone or by messages displayed onthe visual display. Subsequent steps in the process or functionflowcharts will only describe one form of user communication for brevitypurposes.

Proceeding at state 306, the system 100 asks each patient who calls thesystem a series of “initial screening questions.” These questions aredesigned to identify patients who are critically ill; they are notdesigned to identify the patient's problem. The initial screeningquestions enable the system to filter out patients who require immediatemedical attention.

Moving to decision state 308, any patient found to be critically ill isinstructed to dial the emergency response telephone number “911” atstate 309 or will be automatically connected to the nearest emergencymedical services system in the patient's area. The session is terminatedby process 300 at state 310. The following are examples of initialscreening questions:

? IS THIS A MEDICAL EMERGENCY?

? ARE YOU HAVING DIFFICULTY BREATHING?

? ARE YOU EXPERIENCING SEVERE PAIN OR PRESSURE IN YOUR CHEST?

If the system determines that the patient is experiencing a medicalemergency, it may provide the patient with a menu of emergency medicalprocedures at state 311. In situations where the patient or the callerfor the patient is far from the nearest emergency help, e.g., a ruralsetting, the user may need to initiate emergency procedures immediately.The menu of emergency medical procedures provides several choices to theuser. If the user presses touch tone key “1” or speaks the word “one”into the telephone mouthpiece, process 300 branches to state 312 whereinwell known CPR (cardiopulmonary resuscitation) information is recited.If the user has a speakerphone capability associated with the telephone124 being used, the user may be able to listen to and perform theinstructions given by the system 100 in a hands-free manner away fromthe telephone. If the caller presses touch tone key “2” or speaks theword “two” into the telephone mouthpiece, process 300 branches to state313 wherein well known Heimlich Hug information for choking is recited.At the completion of either state 312 or state 313, the session ends atstate 314.

If the patient is determined at state 308 not to have a medicalemergency, i.e., the system 100 is satisfied that no immediately lifethreatening condition is present, process 300 moves to a decision state315 to determine if the user is the actual patient. If so, process 300proceeds to a decision state 316 to determine if the patient haspreviously registered or ever consulted with the system 100, i.e., isnot a new or first-time caller. If so, the system 100 verifies thepatient's identification and retrieves their medical record at thepatient login process 200. At the completion of process 200, process 300proceeds through off-page connector C 317 to state 344 (FIG. 4 d). Ifthe patient is not registered, as determined at decision state 316, thesystem 100 proceeds to the patient registration process 202 for a newpatient. At the completion of process 202, process 300 proceeds throughoff-page connector C 317 to state 344 on FIG. 4 d.

If the user is not the patient, as determined at state 315, process 300proceeds through off-page connector A 318 to a decision state 320 onFIG. 4 b. There will be times when the patient may not be able to usethe system 100 directly, e.g., due to injury, weakness or altered levelof consciousness. In these cases, an “assistant” may interact with thesystem on behalf of the patient.

An assistant registers with the system through the assistantregistration process 214. The assistant registration record is identicalto the patient registration record in structure, but three fields havespecial significance for an assistant: ASST_PERM, ASST_EXP, andRELATIONS. The ASST_PERM field is a Boolean flag that can only be settrue off-line by the system administrator who has verified, throughseparate means, that a relationship exists between a patient and anassistant. The relationships are one-to-many, i.e., a patient may haveone or more assistants, and an assistant may be related to more than onepatient. The ASST_PERM flag may also be constrained by the ASST_EXPfield, which contains a timestamp for the expiration of the ASST_PERMattribute. If the ASST_PERM flag is true, then the RELATIONS pointerswill point to one or more patient records for whom this assistant is a“permanent assistant;” otherwise the RELATIONS field will be empty.

The medical information gathered during an assisted consultation iswritten to the patient's medical record if the following threeconditions are met:

(a) the assistant's ASST_PERM flag is True

(b) the ASST_EXP timestamp has not been reached

(c) the assistant has a relationship pointer to the patient record

If any of these conditions are not met, then any new medical informationgathered on this patient will be saved to the Pending file 252 (FIG. 3)for off-line verification by the system administrator.

The system 100 establishes at state 315 whether the user is the patient,or an assistant. If the user is not the patient, then the system assertsthat the user is an assistant and, at decision state 320, determines ifthe assistant is registered. If the assistant is not already registeredwith the system, the system enrolls the new assistant at the assistantregistration process 214. If the assistant is already registered withthe system 100, process 300 performs the assistant login process 210. Atthe completion of either process 214 or process 210, process 300advances to a decision state 321.

If the patient is not already registered with the system 100, asdetermined at decision state 321, then the system allows the assistantto register a new patient at the assisted patient registration process216. However, if the patient is already registered with the system 100,as determined at state 321, process 300 performs the assisted patientlogin process 212. At the completion of process 216 or process 212,process 300 proceeds through off-page connector B 327 to a decisionstate 334 on FIG. 4 c.

At decision state 334, process 300 determines if the patient's date ofbirth is in the patient's medical record. If so, process 300 proceedsthrough off-page connector C 317 to state 344 on FIG. 4 d. If not, thesystem 100 attempts to get the patient's date of birth. Moving to state335, the system 100 asks the assistant if the patient's date of birth isknown. If so, process 300 advances to state 336 to request the patient'sdate of birth. At state 337, the system 100 recites the patient's dateof birth obtained at state 336. At a decision state 338, the assistantdetermines if the date of birth is correct as recited by the system 100.If not, process 300 loops back to state 336 to request the patient'sdate of birth again. If the patient's date of birth is correct, asdetermined at state 338, process 300 flags the date of birth for savingin the patient's medical record at state 339, and proceeds to state 344on FIG. 4 d.

If the patient's date of birth is not known, as determined at state 335,process 300 proceeds to state 340 wherein the system requests theassistant to provide an approximate age of the patient. The age is animportant parameter used by the DMM process 220, the diagnostic moduleand the treatment table 250. At state 341, the system 100 recites thepatient's approximate age obtained at state 340. At a decision state342, the assistant determines if the age is correct as recited by thesystem 100. If not, process 300 loops back to state 340 to request thepatient's approximate age again. If the patient's approximate age iscorrect, as determined at state 342, the system 100 advises theassistant at state 343 to get the patient's actual date of birth beforethe next consultation, and proceeds to state 344 on FIG. 4 d. The system100 uses the approximate age in the session during the diagnostic moduleand the treatment table 250.

At state 344 on FIG. 4 d, the system 100 presents the user with a systemselection menu. Here, the caller is asked to select from among sixchoices: diagnostic system, treatment table, disease management,audio/visual/image library, automated demand management, or end sessionas described below:

-   -   A. Diagnostic System: The system starts an evaluation process        280 at a menu, where it asks the patient to begin identification        of the complaint.    -   B. Treatment Table: The system takes the patient to the        treatment table process 250 at a menu, where it asks the patient        to select a treatment selection method.    -   C. Disease Management: The system starts the DMM process 220        where it first determines if the patient has previously used the        Disease Management Module. This process is described in detail        below.    -   D. Audio/Visual/Image Library: The system starts a        Audio/Visual/Image Library process 282 which lets a patient hear        medical sounds, see medical videos, or see medical photographs        or other images.    -   E. Automated Demand Management: The system starts an Automated        Demand Management process 284 to help the patient determine if a        physician should be seen, and if so, who should be seen and when        they should be visited.    -   F. End Session: The system performs several steps and then        terminates the session.

At the exit point of the evaluation process 280, the system 100 givesthe patient the option of selecting another complaint. At the end of thetreatment table process 250, the system gives the patient the option ofselecting another treatment. At the end of the audio/visual/imagelibrary process 282, the system 100 gives the patient the option ofselecting another audio clip, video, or image. At the end of theautomated demand process 284, the system 100 gives the patient theoption of receiving advice for another problem.

At the completion of the evaluation process 280, the treatment tableprocess 250, the disease management module process 220, theaudio/visual/image library process 282, or the automated demandmanagement process 284, the system 100 loops back to state 344 and againprovides the system selection menu for the user. If the user chooses theEnd Session selection at state 344, the system 100 moves to a decisionstate 345. At decision state 345, the system 100 determines if process280, process 250, process 220, or process 284 did not occur inInformation mode, i.e., did occur in either Real mode or Pending Mode,and examines a symbol table associated for the current patient todetermine if any of the configured memory variables are past medicalhistory conditions that need to be saved to the patient's medicalhistory file. If both conditions are true at state 345, the system 100advances to a decision state 346 to determine if the consultation isbeing performed in Real mode. If not, the consultation is beingperformed in Pending mode, and the system 100 then writes any newpatient information obtained during the consultation to the Pending file252 at state 347.

If decision state 346 proves to be true, i.e., Real mode, for each pastmedical condition that needs to be saved, the system 100 asks thepatient at state 348 to grant permission to save the datum to thepatient's medical history file and to confirm that the datum is correct.For example, during a consultation for cough, the system 100 may havelearned that the patient has been diagnosed as being HIV positive. Thesystem 100 will ask, “May I record the information about your HIVdiagnosis in your medical record?” If the patient responds “yes”, thenthe system 100 will ask, “Please verify that your diagnosis for HIV waspositive, is this correct?” If the patient responds “yes”, then thesystem 100 writes the diagnosis, and a score indicative of systemaccuracy to the patient's medical history file. After confirmation, eachdata item is stored in the patient's file in the patient medical historydatabase 254 (FIG. 3).

At the completion of either updating the patient medical historydatabase 254 at state 348, or state 345 proves to be false, or at thecompletion of state 347, the process 300 moves to a decision state 349.Before the system 100 ends the consultation with the patient, itpresents a summary of all the advice it has given. In a telephonicsession, the patient is asked to write down and repeat back the keypoints. The system 100 then gives the patient the option of receiving asummary of the consultation session and specific recommendationsprovided by the system via facsimile, electronic mail (E-mail) or a mailservice, such as first-class mail. If a fax or E-mail is desired,process 300 moves to a decision state 350 to determine if information tosend the summary and recommendations is available in the system. If not,process 300 asks the patient for the information, e.g., a fax number,E-mail address or mail address, at state 352. The patient also has theoption to send a summary of the consultation to his or her health careprovider or specialist. Proceeding to state 351, process 300 adds thetranscript of the current telephone session to a fax queue or an E-mailqueue, as desired, for subsequent transmission. At the completion ofstate 351 or if process 300 determined at state 349 that the sessiontranscript was not to be sent, the session is terminated at state 353.

Disease Management Overview

The present invention includes a computer program called a DiseaseManagement Module (DMM). The disease management module is one of severalhigh-level service modules that perform automated medical services forthe users of the medical management system 100. In this context, diseasemanagement (DM) means the continuing medical care of a patient who hasbeen diagnosed with a specified health problem called a disease. The DDMmay continue care throughout a patient's lifetime. The DMM performsdisease management in a fully automated manner, using periodicinteractive dialogs with the patient to obtain health state measurementsfrom the patient, to evaluate and assess the progress of the patient'sdisease, to review and adjust therapy to optimal levels, and to give thepatient medical advice for administering treatment and handling symptomflare-ups and acute episodes of the disease. The goal of the diseasemanagement module is to promote patient health in an automated mannerthat reduces costly medical intervention.

Various features of the DMM software are specifically designed toaccumulate and use patient-specific information, so that diseasemanagement can be tailored more to each individual case. As the modulemanages a given patient over time, it builds a profile of the case, inthe form of the frequency and reasons for the patient's contacts withthe DMM, the patient's subjective understanding of the disease, thepatient's objective response to various medical treatments, and thepatient's preferences in treatment. The module then uses that knowledgeto adjust its internal procedures, so that they adapt more to thespecific patient.

When a patient is first admitted to DM, the DMM runs a registrationprocedure that verifies the patient's medical history, initializes theinitial therapy for the patient's disease, and sets up a schedule forpatient contacts. For every registered DM patient, the DMM conductsperiodic automated sessions with the patient. During each session, theDMM obtains and updates the patient's medical history with the latesthealth measurements, analyzes and assesses patient health as needed,adjusts therapy as needed, and gives the patient appropriate medicaladvice. At the end of each session, the DMM schedules the next session.Ultimately, the DMM discharges patients by moving them from the diseasemanagement state to another state such as to the medical care of a humanphysician, to the care of the diagnostic module of the medical system,or to a normal health state with the appropriate follow-up healthcheckups.

The DMM module is now summarized here in terms of its overall features,so as to put the features into the overall context. Each feature will befurther described herein below.

In all of its contacts with patients, the DMM must insure that itcomplies with a large number of permissions, consents, andauthorizations granted by various agents and agencies. The DMM uses thePermissions database to manage these control data.

To conduct online interactive dialogs with patients (or their agents),the DMM uses scripts. Scripts are special computer programs capable ofoutputting text and questions to a patient, waiting for a response fromthe patient, recording the response, and taking further action based onthe response. The development and use of scripts has been described inU.S. application Ser. No. 08/893,402, filed Jul. 11, 1997, issued asU.S. Pat. No. 5,935,060, entitled “Computerized Medical Diagnostic andTreatment Advice System including List Based Processing”, and in U.S.application Ser. No. 08/893,912, filed Jul. 11, 1997, issued as U.S.Pat. No. 6,022,315, entitled “Computerized Medical Diagnostic andTreatment Advice System including Network Access”, both of which arehereby incorporated by reference.

A normal online dialog with a patient takes the general form of asequence of questions asked by a script, and answers provided by thepatient. As the script runs, it considers the patient's current status,selects a question, and presents the question to the patient. Thepatient responds, the script analyzes the response, selects anotherquestion, and so on until the session is normally terminated.

A script Preview Mode for the DMM allows the patient to answer aquestion in a “look ahead” mode, to see what the consequences of a givenresponse would be, without formally selecting the response. Abnormalscript terminations can be handled by the DMM in an intelligent,proactive manner using a No-Response function. If a patient suddenlyfails to respond in the middle of a dialog, this function can use allthat is known about the patient, the patient's location, and the diseasebeing managed to respond proactively, including—if necessary—the abilityto contact the patient's nearest emergency assistance facility or tocall 911 for the patient.

The DMM performs all of its contact with patients in the form of DiseaseManagement sessions, which are regularly scheduled, online dialogs withthe patient. A DM session can be initiated by either the patient callingthe medical system (inbound), or by the system calling the patient(outbound). Every DM session consists of four major tasks performed inthe following sequence: Open Session, Health Assessment, TherapyOptimization, and Close Session.

The Open Session task initializes data and registers patients. The taskuses the patient's health history and the disease being managed toestablish the assessment health parameters that are to be measured andtracked, including relevant thresholds, limits, ranges, and criticalvalues. It also gives patients instructions on how to observe symptoms,perform health measurements, assess their health, and prospectivelytrend their disease.

The Health Assessment task obtains health measurements from the patientfor the interval since the last session, encodes symptom descriptionsusing a PQRST Array, and calculates various relevant health counts,patterns, and trends. It analyzes health state using a CorrelationAssessment function and a Critical Curve Assessment function. TheCorrelation Assessment function uses a Subjective-Objective CorrelationFactor (SOCF), a statistical measure of how well a given patient canassess his/her own disease state and progress, to assess the patient'shealth based on subjective data. The PQRST Array is an encoding schemeused to convert subjective descriptions of pain symptoms into a DMM-widedigitized pain code. The Critical Curve is a time-plot of specifiedhealth parameters that the DMM can compare to standard critical curvesto detect or predict rapid deterioration of patient health.

Finally, the Health Assessment task decides what action to take for thepatient, such as referring the patient out of the system, to seek humanmedical attention; or referring the patient to the diagnostic moduleprocess for diagnosis of a new symptom; or proceeding to the next taskto determine the next therapy step for the patient.

The third task of the DM session is Therapy Optimization, whose expressgoal is to adjust therapy step by step in a manner that balances therisks and benefits, maximizes efficacy and minimizes adverse sideeffects, and converges to an optimum therapy for this patient over thelong term. The task selects one of several possible therapies from atreatment table, adjusts dosages in small steps as controlled by aPatient Consent Level function, presents the risks and benefits to thepatient, and lets the patient accept or reject the recommendation. Ifthe patient rejects, the task computes the next best therapy, and thenext, until it reaches a limit that is stored in the Permissionsdatabase. In all of its work, the task consults a Therapeutic AlterationPermission Level (TAPL) to determine how much authority it has to modifytherapy automatically. If the task has too little authority to recommenda therapy, or if the patient rejects all therapy suggestions, the taskrefers the patient to a human physician.

The final task of the DM session, Close Session, stores all of theassessment measurements, parameters, and decision factors in thepatient's medical history database. The task also processes the therapychanges that the patient accepted, issues relevant instructions to thepatient, and finally reschedules the patient for the next session. Thenthe task initiates processes to output various session logs and reportsrequested during the session, and finally, the DMM saves the relevantdata and terminates the current DM session. The DMM is now done withthis patient until the next session repeats the process.

Disease Management Module

Referring to FIG. 5, the process 220 will be described. Process 220comprises the executable portion of the Disease Management Module (DMM),which conducts an on-line, interactive dialog with a patient for thepurpose of managing a known disease of the patient. Process 220 consistsof four processes 404, 406, 408, and 410. A DM session starts whencontrol is passed to program 220 at the start node 402. From the startnode 402, process 220 invokes process 404, which performsinitialization, file opening, and registration functions as described inconjunction with FIG. 6 below. When process 404 returns control toprocess 220, process 220 next invokes process 406, which inputs healthmeasurements from the patient, analyzes them, and assesses the patient'scurrent health state. When process 406 returns control to process 220,process 220 next invokes process 408, which computes an optimum nexttherapy step that is accepted by the patient. When process 408 returnscontrol to process 220, process 220 next invokes process 410, whichoutputs various reports, saves session data, and closes working files.When process 410 returns control to process 220, process 220 passescontrol to step 412. Step 412 returns control to the process thatinvoked process 220 at node 402.

Open Session

Referring to FIG. 6, the process 404 will be described. Process 404establishes the data needed to conduct a DM session. It registerspatients that are new to the DMM and loads existing data for patientsthat have previously conducted DM sessions. Finally, process 404 createsa Disease Management Order(DMO) record, in which the cumulativedecisions made by the DMM during this DM session are stored. The DMO isfurther described in section Disease Management Order. Process 404receives control at the start node 430. Next, process 220 passes controlto decision 432, which looks up the patient's identification in the DMregister to see whether the patient is a registered, i.e. has conductedprevious DM sessions. If the patient is not registered, process 404passes control to step 434, otherwise to step 452, which will bedescribed later in this section.

Step 434 is the first of seven successive steps 434, 436, 438, 440, 442,444, 446 that register a patient for Disease Management. Step 434outputs messages to greet and inform the patient that s/he is about tobegin registration for DM. Next, step 436 inputs the name of the diseaseto be managed. Next, step 438 interviews the patient to input datarequired to conduct Disease Management, including the name of arepresentative that can speak for the patient, the name and location ofthe patient's physician, names and telephones emergency facilities nearthe patient, and so on. Next, step 440 creates a record for the newpatient in the DM registry. Next, step 442 establishes the patient as aregistered DM patient. Next, step 444 creates a new data record for useby the DMM in the patient's database. Next, step 446 creates a new datarecord for session data in the session database. Step 446 completes theregistration of the patient as a new DM patient. After step 446, controlgoes to step 448, which creates a new creates a Disease Management Order(DMO) record, in which the cumulative decisions made by the DMM duringthis DM session are stored. Step 448 initializes the DMO to indicatethat this patient is a newly registered DM patient and needs an initialhealth assessment. After step 448, process 404 passes control to step450, which returns control to the process that called process 404.

Continuing now to describe process 404 at step 452. Step 452 retrievesthe patient's medical record from the patient database. After step 452,control passes to step 454, which loads the last DM session data forthis patient from the session database. After step 454, control passesto step 456, which confirms that the last session terminated normallyand sets appropriate control data if it did not. After step 456, controlpasses to step 458, which initializes the DMO to indicate that thispatient needs a current health assessment in subsequent processing.After step 458, control passes to step 450, which returns control to theprocess that called process 404.

Health Assessment

Referring to FIG. 7, the process 406 will be described. Process 406performs the health assessment for the DM session. It is basically astaging process that invokes other processes that perform healthassessment of the patient. Process 406 receives control at start node480. After node 480, process 406 invokes process 482, which is named theSignificant Symptom Filter and will be described below in conjunctionwith FIG. 8. When process 482 returns control, process 406 passescontrol to the test 484, which tests the DMO record code to determinewhether this patient is a new DM registrant or a returning DM patient.For new patients, process 406 invokes node 488, which assesses thehealth of newly registered patients and will be described below inconjunction with FIG. 10. For current patients, process 406 invokes node490, which performs the health assessment for returning DM patients andwill be described below in conjunction with FIG. 11. After healthassessment for new or returning patients is completed, process 406returns control at node 492.

Significant Symptom Filter

Referring to FIG. 8, the process 482 will be described. Process 482applies several tests to the patients current symptoms to classify thepatient's current health state, decide on specific assessment needs andtheir reasons, and forward this assessment to subsequent DM processes.These needs are saved in the patient's DMO, which is then processed bysubsequent DMM routines. The DMO record is described later in sectionDisease Management Order.

Process 482 receives control at start node 510. From there, it passescontrol to test node 512, which represents the first filter by askingthe patient whether s/he is having any significant symptoms at present.If the patient is not having significant symptoms, s/he can be assessedby automated means, and therefore process 482 passes control to step544. Step 544 which sets the DMO record code to indicate that thispatient's health needs to be further assessed by subsequent routines.The control returns via node 526.

If, at node 512, the patient is currently having significant symptoms,then process 482 needs to determine whether or not the patient has asymptom related to the disease being managed. To do this, process 482passes control first to step 514, which inputs the symptom from thepatient and looks it up in a table of related symptoms, and next to test516, which branches to node 520 if the symptom is related to the diseasebeing managed, and branches to node 530 otherwise. This completes thesecond filter, which has now identified patients with and withoutsignificant related symptoms.

If, at node 516, the patient does have a related symptom, process 482invokes the Severity Assessment function 520 to further classify therelated symptom as mild or severe. For patients with severe relatedsymptoms, process 482 passes control to step 522, which sets the DMOrecord to indicate the findings so far. From step 522, control returnsvia node 526. But if at test 520, the symptom is judged to be mild, thenprocess 482 passes control to node 524, which sets the DMO record toindicate need for normal health assessment. From node 524, process 482returns control via node 526.

If, at node 516, the patient does not have a related symptom, process482 needs to determine whether or not the patient has a side effectrelated to the current therapy of the patient. To do this, process 482passes control first to step 530, which looks up the patient's symptomin a table of side effects of the current therapy. Process 482 nextpasses control to test 532, which is a filter that determines sideeffect symptoms. If the patient's symptom is a side effect, process 482invokes the Severity Assessment function 520 to classify the side effectas mild or severe. For mild side effects, process 482 passes control tonode 536, which sets the DMO record to be assessed by subsequentprocessing. For severe side effects, process 482 passes control first tostep 534, which marks the DMO record to refer the patient out of thesystem to a human physician, and then returns to the calling process vianode 526.

If, at test 532, the patient's symptom is not a side effect, the symptomis a significant symptom unrelated to either the disease being managedor to the therapy being applied. Process 482 invokes the SeverityAssessment function 520 to classify the symptom as mild or severe. Formild symptoms, process 482 passes control to node 542, which sets theDMO record flag to force a special discussion with the patient after allDM processing is performed, and notes the reasons for the discussion.Then process 482 passes control first to node 544 which sets the DMOrecord to force subsequent health assessment and next to node 526, whichreturns to the process that called process 482. For severe unrelatedsymptoms, process 482 passes control first to step 540, which marks theDMO record to refer the patient out of the system to a human physician,and then returns to the calling process via node 526.

Severity Assessment

Referring to FIG. 9, the Severity Assessment function 520 will bedescribed. This function uses a number of criteria to decide whether agiven symptom is to be considered mild or severe for the DM assessmentpurposes. Function 520 receives control at start node 560, where itbegins a sequence of 6 consecutive steps and then returns the computedresult. First, function 520 passes control to node 562, which asks thepatient to rank the symptom's severity on a scale of 0 to 10. Next,function 520 passes control to node 564, which obtains the absoluteseverity scale of the symptom itself from the symptoms database.Different symptoms have different severity scales, and the patient'sranking is now matched to that of the symptom. Therefor, next, function520 passes control to node 566, which normalizes the patient's ranking,so that it is expressed in terms of the symptom's severity scale. Next,function 520 passes control to node 568, which uses the SensitivityFactor Set to adjust the normalized severity ranking up or down,depending on the current sensitivity setting of the DMM. Thus, thehigher the Sensitivity, the more conservative the system is in itsassessments. At the lowest Sensitivity setting, all symptoms severityratings will be considered mild. Next, function 520 passes control tonode 570, which converts the final adjusted ranking into 2classifications, mild or severe. It is important to note that this finalstep can, in other contexts, classify the final ranking into any numberof gradations; but for the current assessment purpose, the symptom mustbe classified as mild or severe. Next, function 520 passes control tonode 572, which returns a code for either “mild” or “severe” to thecalling process.

Initial Health Assessment

Referring to FIG. 10, the process 488 will be described. This processperforms a health assessment for patients who are having their firstDisease Management session. Process 488 receives control at node 600.Process 488 then passes control to node 602, which loads the healthassessment specifications for the disease being managed from the diseasedatabase. These specifications include various parameters to be used inDisease Management sessions, such as patient instructions, choices oftherapies, permissions required, and so on. After these values areobtained, process 488 passes control to node 604, which initializes a DMsession segment in the patient's medical history and the sessionsdatabase. Then, process 488 passes control to node 606, which conductsan initial health interview to ask the patient for a subjectiveassessment of current health, for any objective health measurements thepatient may have available, any pre-existing therapy or side effects,and so on. Then process 488 passes control to node 608, which returnscontrol to the calling process.

Current Health Assessment

Referring to FIG. 11, the process 490 will be described. This processobtains current health data from the patient in three forms: subjective(i.e. as perceived or felt by the patient), objective (i.e. as measuredby the patient, typically with an instrument), and side effects noted bythe patient. These health measurements are then used to analyze thecurrent health state. Process 490 receives control at node 620. Fromnode 620, process 490 passes control to test 622, which examines thecurrent DMO record of the patient to determine what processing has beendone and what needs to be done. If the DMO record code does not indicatethat a health assessment is required, process 490 passes control to node634, which returns control to the calling process. If a healthassessment is required, process 490 passes control to a sequence of 5steps that obtain various health assessments. First, process 490 passescontrol to step 624, which asks the patient for a subjective assessmentof the patient's current health state. Next, process 490 passes controlto step 626, which asks the patient for objective health measurements ofthe patient's current health state. Next, process 490 passes control tostep 628, which asks the patient for any current side effects. Next,process 490 invokes the Correlation Assessment function 630. Thisfunction is described in conjunction with FIG. 12. Next, process 490passes invokes the Critical Curve Assessment function 640. This functionis described in conjunction with FIG. 13. Next, process 490 passescontrol to step 632, which returns control to the calling process.

Correlation Assessment

Referring to FIG. 12, the process 630 will be described.

This function computes and standardizes the SOCF for recently addeddata, computes other assessment parameters and statistics, and updatesthe patient medical history. Finally, it invokes the health assessmentfunction again to fill in data gaps for the interval since the lastsession.

Process 630 receives control at start node 650. Then process 630 passescontrol to step 652, which obtains any new health data that have beenadded to the patient's medical history since the last DM session. Thenprocess 630 passes control to step 654, which computes new points on theraw SOCF time plot by taking the ratio of subjective to objectivemeasurement for the same time and updating the raw SOCF time plot arraywith the new points. Then process 630 passes control to step 656, whichapplies standard statistical normalization and curve-fitting techniquesto normalize the raw SOCF points and obtain a single current SOCF thatis high in patients whose subjective assessment tends to match theirobjective health measurements, and low in patients whose subjectiveassessments tend to be inaccurate by comparison with their objectivehealth measurements. Step 656 also computes other parameters used in therest of the DM session, such as the slope and slope trend for the mostrecent 3 data points and the difference between patient's measurementsand normal measurements. Step 656 also determines whether there arelarge gaps in the patient's health data, that need to be filledretroactively in by an interval assessment. Step 656 sets the DMO codeappropriately to call for another assessment. Then process 630 passescontrol to step 658, which updates the patient's medical history withthe computed assessment parameters. Then process 630 passes control totest 660, which determines whether the patient's health is to beassessed again for missing interval data. If test 660 determines that nofurther assessment is required, process 630 passes control to terminalnode 662, which returns control to the calling process. If test 660determines that another round of health assessment is required, process630 passes control to test 664. Test 664 determines the type of data tobe re-assessed for the interval. If test 664 determines that objectivedata are available, process 630 invokes Health Assessment process 490,passing a parameter that asks for both subjective and objective patienthealth data to be assessed for the interval. Then process 630 passescontrol to terminal node 674, which returns control to the callingprocess. If test 664 determines that objective data are not available,process 630 invokes Health Assessment process 490, passing a parameterthat asks for only subjective patient health assessments to be obtainedfor the interval. Then process 630 passes control to terminal node 672,which returns control to the calling process.

Critical Curve Assessment

Critical Curve Assessment is a DMM process for monitoring patient healthfor significant deterioration. A critical curve is defined as a plot ofa health measurement against time that is used to identify significantchanges in health state. The Critical Curve Assessment process selects adisease- and patient-specific health parameter, plots it as a criticalcurve, updates the critical curve as a normal part of continuing DMsessions, and takes specific action if the patient's critical curveexhibits specific critical points, slopes, and slope trends. The processis based on comparing the patient's critical curve to standard,disease-specific critical curves. A constant, high ordinate valueindicates good health; a declining curve indicates declining health; asharp drop in the curve indicates a health crisis. The “critical point”on the curve is a point that predicts a significant decline in health.

An example of a generic critical curve is shown in FIG. 23, whichcontains a point circled as the “critical point”. Referring to FIG. 23,it will be noted that, at the critical point, the slope of the curve(i.e. the line tangent to the curve at the critical point) is sharplynegative, which predicts that the next health measurement will be lowerthan the critical point. Moreover, at the critical point, the rate ofslope change may also be negative, indicating that the slope of thecurve is decreasing even more, predicts a rapidly deteriorating healthstate. For brevity, these three critical test items are typicallyreferred to in the DMM processes as the critical point, slope, andtrend. They are calculated using the last three health measurementpoints. For critical curves with sufficient data points, curve fittingtechniques can also be used.

The DMM has a database of diseases 262 (FIG. 3) that contains standardcritical curves for various diseases, patient populations, and healthparameters. The Critical Curve Assessment process extracts theappropriate disease data set, selects an appropriate health parameter tobe used, adapts it for the current patient, and saves it as the standardcurve for the current patient in the patient's medical history 254 (FIG.3). As the DMM periodically dialogs with the patient, the Critical CurveAssessment process obtains current data from the patient, plots them onthe patient's critical curve, and uses curve-fitting and patternmatching techniques to compare the patient's actual CC to the patient'sstandard CC. This comparison enables the DMM to detect key points andtrends on the patient's curve, such as the “critical point” thatpredicts a significant impending health decline. When the curveapproaches this critical point, the Critical Curve Assessment methodorders alterations in therapy that will prevent the predicteddeterioration, or sets a flag to refer the patient to a health careprovider. Both objective and subjective health data are used to plot theCC, especially if the Subjective-Objective Correlation Factor (SOCF) ishigh (which means that the patient knows his/her disease process welland the DMM can rely on the patient's responses more and more).

Homeostasis

The concept of homeostasis, as described by Claude Bernard, is helpfulin understanding the concepts behind the Critical Curve and itsanalysis. Briefly, homeostasis is a state of dynamic equilibrium of thebody. This equilibrium is maintained by various internal controlmechanisms that force certain system parameters to remain within adesired range. Using these homeostatic mechanisms, the body is able totolerate disease up to a certain point, at which time progression of thedisease begins to accelerate. Good examples of this are:

-   -   the bicarbonate buffering system for maintenance of blood pH,    -   the oxyhemoglobin disassociation curve, and    -   the deterioration of a patient with chronic obstructive        pulmonary disease.        The Critical Curve

The Critical Curve (CC) describes the patient's health state during about with disease. The curve plots the patient's health state againsttime, starting initially at a (high) normal state of health anddescending—as the disease progresses—to a lower state of health.

A normal, disease-free patient will have a fairly steady plot at a highlevel of health. The initial part of the curve is asymptotic to normalhealth because the healthy body can often resist disease for some timeby using reserve capacities and internal defense mechanisms. After theinitial phase, the health curve begins to descend at a steeper andsteeper angle, as reserves are used up and the disease is establishedand produces secondary effects. At some critical point, the curvesteepens so dramatically that the patient's condition may deterioratequickly.

Many physiologic parameters have a characteristic response to change,being able to compensate up to a point, and then responding with verylarge changes in signal findings to small changes in the progression ofthe disease. It is very important to know where the patient is on theCritical Curve, because if the expression of the disease in this patientis about to accelerate significant intervention is required. When thereis an indication or even a suspicion that the patient's condition isapproaching the steep area of the health curve, the DMM can recommend achange in therapy or consultation with the patient's health caregiver.If confirmation of the change of the health state is required, the DMMreenter feature allows the DMM system to confirm its hypothesis beforemaking recommendations.

Critical Curve Analysis

For a patient with a known disease, who is managing the disease at homewith suitable maintenance therapy, the DMM monitors the patient'speriodic contacts and health state reports. When the trend lineindicates that the patient's health curve is reaching the criticalpoint, the DMM can change the therapy and/or notify the patient'sphysician. Since patients can go for months successfully managing theirdisease, this Curve analysis approach can save a significant number ofunnecessary physician visits, yet inform the physician and the patientat once when a change in health state indicates that the critical pointis being approached.

Obviously, it is best to use an easily quantifiable parameter as amarker for the progression of the disease in question to embody thiscurve, but if the subjective-objective correlation is high in a givenpatient, their subjective evaluation can accomplish the same thing.

The system measures the tidal volume and peak flow rates over time. Ifit is found that small changes in tidal volume make large differences inthe patient's impression of the severity of their disease (compared tothe changes made previously in this patient), the patient is on thesteep part of the curve. A flag is set and significant intervention isnecessary.

If the therapeutic alteration permission level is set low, then thepatient is referred to his physician, and the patient's doctor receivesa report, frequently a fax, e-mail or downloads about the newdevelopments. If the therapeutic alteration level is set high, thentherapeutic optimization may occur before the patient sees hisphysician. A report is sent to the physician and the patient may or maynot have to be seen.

It is this analysis and the recognition of this relationship thatconstitutes the “curve” analysis of the health state.

EXAMPLE Chronic Obstructive Pulmonary Disease

We will discuss chronic obstructive pulmonary disease as an example.Chronic obstructive pulmonary disease slowly destroys lung tissue. Asmentioned, many physiologic parameters have the same response tochanges, being able to compensate up to a point, and then, after thatreserve capacity is gone, very small changes in the disease stateproduce very large changes in the expression of the progression of thedisease in the patient its early phase, the patient with chronicobstructive pulmonary disease loses only reserve lung capacity, so thereis no significant change in the resting health state. After the reservetissue has been destroyed, a threshold is reached beyond which smallerand smaller time increments (and progression of the disease process)will produce more and more profound deterioration in the patient'sability to blow off carbon dioxide and oxygenate the blood. Ultimately,even a very small change in chronic obstructive pulmonary diseaseresults in respiratory failure.

When we start to see larger and larger decrements to pulmonary functionplotted against time, the patient is reaching the critical part of thecurve. Significant intervention is necessary and should be started assoon as possible.

The Critical Curve Assessment process is especially effective in the DMMsetting because the DMM:

is fully automated,

tracks patient health through time,

has various modules that track and correlate patient contacts,

knows the patient (history, Subjective-Objective Correlation Factor)

has access to databases of medical knowledge,

can analyze disease progress using mathematical trend analysis, and

can select alternate therapies as required by altered conditions.

Referring to FIG. 13, the Critical Curve Assessment function 640 will bedescribed. This function has two phases. The first phase (starting atnode 702) updates the patient's critical curve with health measurementsadded to the patient's medical history since the last critical curveassessment. The second phase (starting at node 712) compares thepatient's actual critical curve to the standard critical curve used forthis patient. If a patient is at (or is approaching) a critical part ofthe curve, this suggests the possibility of rapid deterioration of thedisease being managed, and the patient is referred to a human physicianfor consultation.

Process 640 receives control at start node 700. Then process 640 passescontrol to step 702, which updates the patient's actual critical curvewith new health measurements. Next, process 640 passes control to step704, which analyzes the patient's updated critical curve to obtain thelatest critical curve point, slope, and 3-point trend. Next process 640passes control to step 706, which saves the patient's critical curvedata in the patient medical history. Next, process 640 passes control totest 708, which examines the DMO record code to see whether thepatient's critical points should be assessed. If the patient's criticalpoints should not be assessed, process 640 passes control to terminalnode 710, which returns control to the calling process. If the test 708indicates that health assessment is needed, process 640 passes controlto step 712.

Step 712 begins the assessment phase of process 640. Step 712 retrievesor computes the working data needed to use the critical curve to assesspatient health. Working data include the patient's latest actual healthpoint and slope, the matching point and slope on the patient's standardcritical curve, and the thresholds used to rule the patient as criticalfor each set. When step 712 has computed these working data, process 640passes control to test 714.

Test 714 begins a sequence of steps that examine the patient's criticalpoint. If test 714 finds that the patient's latest health point is notavailable or cannot be matched on the standard curve, process 640 passescontrol to terminal node 716 which passes control to the callingprocess. If test 714 determines that the latest health point isavailable, then process 640 passes control to step 718 which comparesthe difference between the actual and standard critical health points.Then process 640 passes control to test 720. If test 720 finds that thepatient does meet or exceed the critical point threshold, process 640passes control to step 722, which sets the DMO record to refer thepatient to a human physician for consultation. Then process 640 passescontrol to terminal node 724, which returns control to the callingprocess. If test 720 finds that the patient does not meet the criticalpoint threshold, process 640 passes control to test 726.

Test 726 begins a sequence of steps that examine the patient's criticalslope. If test 726 determines that the critical slope is not available,process 640 passes control to terminal node 724 which returns control tothe calling process. If test 726 determines that the actual slope isavailable, process 640 passes control to 728, which compares thedifference between the actual and standard critical slopes. Then process640 passes control to test 730. If test 730 determines that the patientis below the critical slope threshold, process 640 passes control tonode 724, which returns control to the calling process. If test 730determines that the patient does meet or exceed the critical slopethreshold, process 640 passes control to node 732, which sets the DMOrecord to refer the patient to a human physician for consultation. Thenprocess 640 passes control to node 724, which returns control to thecalling process.

Therapy Optimization

Therapy Optimization consists of a set of processes that review andadjust patient therapy from session to session, with a long-term goal ofmaximizing efficacy, minimizing adverse side effects, and maintainpatient cooperation and acceptance of the recommended therapy. TheTherapy Optimization processes select therapy parameters from medicaltreatment tables and track patient-specific efficacy by reviewingsubjective and objective patient health data from session to session.The Therapy Optimization process selects from multiple therapies. Itseeks to minimize side effects by offering the patient the choice ofalternate therapies, and by adjusting therapy dosage levels until thepatient finds the appropriate comfort level. Disagreements between theDMM and the patient are resolved by referring the patient to a humanphysician for face-to-face consultation and advice. Therapy Optimizationis guided and controlled by the Therapy Optimization Permission Level(TAPL), a DMM-global variable that specifies the amount of autonomy thatthe DMM has to alter therapy. The TAPL is described in a separatesection below.

After the patient health state has been assessed, the TherapyOptimization process reviews and adjusts (to the extent the TAPL allowsit) the patient's treatment to achieve the best combination of severalsubgoals of the overall goal of restoring normal health. The TherapyOptimization process also seeks to minimize treatment side effects. Tothe extent allowed by the current TAPL setting, the DMM will graduallytitrate the dose of a medication until the benefit/side effect ratio ismaximized. The overall idea is to achieve the desired physiologicalchanges with the fewest side effects. Initial treatment is selected froma treatment table based on disease, age, and sex. Due to the wide rangeof responses to treatments by different patients, once a drug has beenselected as the therapy for a given disease, the different formulation,dosing, administering methods and timing are, in effect, a matter oftrial and error for a specific patient. To review therapy, the TherapyOptimization task compares the patient's current therapy to thetreatment table to detect and analyze differences. If a new treatment isavailable, the patient and the healthcare giver are notified, and thetherapy may be altered, depending on the TAPL. To maximize thetherapeutic result and minimize side effects, the Function can selectthe initial therapy, review the patient's current therapy, adjustvarious parameters of the therapy, and monitor the effect of thesechanges.

Therapy parameters that can be changed include drug class, type, brand,dose, route, mode of drug administration, formulation, timing, andfrequency. As each of these is modified, the patient's health data andside effects are checked to see if the current modification of therapymakes the patient better, and so on. Each therapy parameter issequentially altered on a trial and error basis to find the overall bestcombination of therapy parameters. When the DMM adjusts a patient'stherapy, it adjusts the DM session schedule appropriately, typicallyinstructing the patient to re-enter the system within a few iterationsof therapy or dosage.

Side effect minimization is a special goal of the Therapy Optimizationprocess, which seeks to reduce the undesirable side effects of therapy.This task illustrates the complex, trial-and-error methods used by theDMM to Therapy Optimization feature. Example 1: In cancer patients thereis a point at which patients receiving chemotherapy decide that the sideeffects are not worth the slowing of the progression of the disease. Atthat point, one “backs off” (decreases the dosage), knowing that anyfurther increase will be futile. The process becomes more complicated ifmultiple drugs are involved, but the same relationships hold. Example 2:Albuterol-metered dose inhalers help the wheezing of asthma patients,but at a certain patient-specific dose, the side effects get so bad,that the patient cannot tolerate them. At that point, the dosage isbacked off in small steps to get the best ratio of efficacy to sideeffects.

Referring to FIG. 14, the Therapy Optimization process 408 will bedescribed. Process 408 performs the therapy phase of the DM session.This phase computes the next best therapy step that is accepted by thepatient, using two major subordinate processes and a loop that triesvarious therapies until the patient accepts one. The general goal ofprocess 408 is to select therapy steps in a manner that optimizestherapy over the long term, by maximizing efficacy, minimizing sideeffects, and adjusting therapy types and modalities to meet thepatient's comfort level. Process 408 receives control at start node 760.Then, process 408 passes control to test 762, which tests whether thepatient provided current objective health measurements during theearlier part of this DM session. If test 762 finds that the patient didnot provide current objective health data, process 408 passes control totest 782, which tests whether the patient entered a subjectiveassessment of his/her health during the earlier part of the DM session.If test 782 finds that the patient provided a subjective healthassessment, process 408 invokes process 790. Process 790 adjusts thetherapy based on current subjective health data. Process 790 is detailedbelow in conjunction with FIG. 15. When process 790 returns control,process 408 passes control to terminal node 792, which returns controlto the calling process. If test 782 finds that the patient did notprovide a current subjective health assessment, process 408 passescontrol to 784, which sets the DMO record to refer the patient to ahuman physician for consultation. Then, process 408 passes control toterminal node 786, which returns control to the calling process.

If test 762 finds that the patient did provide current objective healthdata, process 408 passes control to step 764, which initializes a loopthat will try various therapies until the patient accepts one or untilthe number of retries is exhausted, whichever occurs first. Step 764obtains the maximum number of therapy permitted from the permissionsdatabase for this patient. Then, process 408 invokes process 770.Process 770 selects the next best therapy from the treatment table forthis patient and offers it to the patient who can accept or modify orreject it. Process 770 is further described below in conjunction withFIG. 16. When process 770 returns control, process 408 passes control totest 772. If test 772 determines that the patient accepted the therapyrecommended, process 408 passes control to terminal node 780, whichreturns control to the calling process.

If test 772 determines that the patient rejected the therapyrecommended, process 408 passes control to test 774. If test 774determines that the loop retry count is greater than one, process 408passes control to step 776. Step 776 reduces the loop retry count by 1and then process 408 invokes process 770 again for another iteration ofthe loop. If test 774 determines that the retry count is 1, then process408 passes control to step 778. Step 778 sets the DMO record to referthe patient to a human physician for consultation. Then, process 408passes control to terminal node 780, which returns control to thecalling process.

Therapy Adjustment (Subjective)

Referring to FIG. 15, the process 790 will be described. Process 790computes the next best therapy for this patient, based only on thepatient's subjective assessments of his/her health. Process 790 uses theSubjective-Objective Correlation Factor (SOCF) which is described belowin the section Subjective-Objective Correlation Factor. The SOCFindicates how reliable this patient is in subjectively assessing his/herdisease, and process 790 relies on the SOCF in computing the nexttherapy step.

Process 790 receives control at start node 810. Then, process 790 passescontrol to test 812. If test 812 determines that the patient does notneed therapy adjustment, i.e. that the DMO record of this patient hasalready been completed for an approved therapy, process 790 passescontrol to terminal node 814 which returns control to the callingprocess. If test 812 determines that this patient requires therapyoptimization, process 790 passes control to test 816. Test 816determines (by asking the patient or by obtaining the patient's savedresponse if the patient has already been asked) whether the patient ishaving any current symptoms. If test 816 finds that the patient issymptom-free, process 790 passes control to test 818. If test 818determines that the current DMM TAPL setting does not permit therapyadjustments, process 790 passes control to node 826, which sets the DMOrecord to maintain the same therapy, e.g. the same dose in the case of adrug-based therapy. Then, process 790 passes control to terminal node824, which returns control to the calling process.

If test 818 determines that the current TAPL setting does permit therapyadjustments, process 790 passes control to test 820. If test 820determines that the patient does not want to try to reduce the dose,process 790 passes control to step 826, which sets the DMO record tomaintain the same therapy. Then, process 790 passes control to terminalnode 824, which returns control to the calling process. If test 820determines that the patient wants to reduce the dose, process 790 passescontrol to step 822, which looks up the next lower dosage level in thetreatment table and sets the DMO record to decrease the dose. Then,process 790 passes control to terminal node 824, which returns controlto the calling process.

If test 816 finds that the patient is having current symptoms, process790 passes control to test 830. If test 830 finds that the TAPL does notpermit changes in therapy, process 790 passes control to step 832. Step832 sets the DMO record to refer the patient to a human physician forconsultation. Then, process 790 passes control to terminal node 833returns control to the calling process. If test 830 finds that the TAPLdoes permit changes in therapy, process 790 passes control to step 834.

Step 834 begins that phase of process 790 which computes the nexttherapy step for a patient who is having symptoms, but has only reportedcurrent subjective health assessments. Step 834 uses the current SOCFfrom the patient's medical history, modifies it by the currentSensitivity Factor Set to adjust it to the sensitivity being used forthis patient, and then classifies the patient's current SOCF as “high”or “low” for the purpose at hand. If test 834 classifies the patient'sSOCF as high, the patient's subjective health assessment is reliable,and process 790 passes control to step 838 which looks up in thetreatment table how much the therapy (i.e. dose in the example drawn)can be increased for a patient with a high SOCF, and what the associatedbenefits and risks are. Then, process 790 invokes function 840.Alternatively, if test 834 deems the SOCF as low, process 790 passescontrol to step 836, which obtains the dose and risk/benefit factors forunreliable patients. In either case, process 790 continues by invokingfunction 840.

The Patient Consent Level function 840 presents a recommended therapy tothe patient and obtains a consent of the patient to the therapy asrecommended or to some variation of it; the patient may also reject therecommended therapy entirely. Function 840 is described below inconjunction with FIG. 17.

When function 840 returns control, if function 840 returns the resultthat the patient consents to an increased dose, process 790 passescontrol to step 842. Step 842 sets the DMO record to indicate the nexttherapy with an increased dose, and with an appropriate change inschedule for a sooner DM session. Then, process 790 passes control toterminal node 844 which returns control to the calling process.

When function 840 returns control, if function 840 returns the resultthat the patient consents to continue therapy with the same dose,process 790 passes control to step 846. Step 846 sets the DMO record toindicate that the same therapy is to be continued. Then, process 790passes control to terminal node 844 which returns control to the callingprocess.

When function 840 returns control, if function 840 returns the resultthat the patient consents to a reduced dose, process 790 passes controlto step 848. Step 848 sets the DMO record to indicate the next therapywith a reduced dose. Then, process 790 passes control to terminal node844 which returns control to the calling process.

When function 840 returns control, if function 840 returns the resultthat the patient rejects the recommended therapy at any level, process790 passes control to test 850. Test 850 consults the currentSensitivity Factor Set to see whether process 790 should try the nextbest therapy or should refer the patient to a human physician. If test850 determines that other therapies may be tried, process 790 passescontrol to node 852, which sets the DMO record to indicate that thepatient rejected the recommended therapy. Then, process 790 passescontrol to terminal node 844, which returns control to the callingprocess. If test 850 determines that the patient should be referred,process 790 passes control to node 854, which sets the DMO record torefer the patient to a human physician. Then, process 790 passes controlto terminal node 844 which returns control to the calling process.

Therapy Adjustment (Objective)

Referring to FIG. 16, the process 770 will be described. Process 770computes the next best therapy for this patient, based on the patient'scurrent objective health measurements. The process receives control atstart node 870. Then, process 770 passes control to test 872. Test 872compares health assessment parameters to determine whether the patient'sobjective health data meet or exceed various thresholds. Test 872 firstcompares the patient's current health measurement to an absolutethreshold for that measurement, to see if the measurement itself is inacceptable range. Test 872 next compares the slope of the last twohealth measurements, to see if the patient's health is deteriorating ata rate that exceeds a threshold. Test 872 next compares the change inthe slopes of the last three measurements, to see if the patient's rateof change of health is getting worse more and more rapidly. If any oneof these thresholds is met or exceeded, process 770 passes control tostep 874, which sets the DMO to refer the patient to a human physician.Then, process 770 passes control to terminal node 876, which returnscontrol to the calling process.

If test 872 determines that all of the patient's current healthstatistics are below threshold, process 770 passes control to test 878.Test 878 begins that phase of process 770 which computes the nextrecommended therapy for this patient. Test 878 compares the currentpatient health measurements to those of the previous DM session, toclassify the patient's change of health state as “better, same, orworse” for the purpose of computing the next therapy step.

If test 878 determines that the patient is worse than the last time,process 770 passes control to test 880. Test 880 determines (from thetreatment table) whether the current therapy dose can be increased. Iftest 880 determines that the dose can be increased, process 770 passescontrol to node 882, which sets the DMO to increase the dose. Then,process 770 passes control to test 896. If test 880 determines that thedose can not be increased, process 770 passes control to node 884, whichsets the DMO to continue therapy with the same dose. Then, process 770passes control to test 896.

If test 878 determines that the patient is in the same health as thelast time, process 770 passes control to test 892. Test 892 determineswhether the patient's current health measurements are in normal limits.If test 892 determines that the patient's current health data arenormal, process 770 passes control to step 890. Step 890 sets the DMO todecrease the dose. Then process 770 passes control to 896. If test 892determines that the patient's current health data are outside normallimits, process 770 passes control to test 880. Test 880 has beendescribed above for process 770.

If test 878 determines that the patient is better than the last time,process 770 passes control to test 886. If test 886 determines (byconsulting the treatment table) that the current dose can be reduced,process 770 passes control to step 890. Step 890 has been describedabove for process 770. If test 886 determines that the current dose cannot be reduced, process 770 passes control to step 888, which sets theDMO to continue therapy with the same dose. Then, process 770 passescontrol to test 896.

Test 896 determines whether the TAPL setting for this patient allows theDMO as computed so far by process 770. If test 896 determines that theTAPL allows the DMO as written, process 870 invokes the Patient ConsentLevel function 840, which presents a recommended therapy to the patientand obtains a consent of the patient to the therapy as recommended or tosome variation of it; the patient may also reject the recommendedtherapy entirely. Function 840 is described below in conjunction withFIG. 17. If function 840 returns the result that the patient accepts therecommended therapy (perhaps at some modified level), process 770 passescontrol to terminal node 898, which returns control to the callingprocess. If function 840 returns the result that the patient rejects therecommended therapy entirely, process 770 passes control to test 900.Test 900 consults the current Sensitivity Factor Set to see whetherprocess 770 should try the next best therapy or should refer the patientto a human physician. If test 900 determines that other therapies may betried, process 770 passes control to node 902, which sets the DMO recordto indicate that the patient rejected the recommended therapy. Then,process 770 passes control to terminal node 904, which returns controlto the calling process. If test 900 determines that the patient shouldconsult a physician, process 770 passes control to node 906, which setsthe DMO record to refer the patient to a human physician. Then, process770 passes control to terminal node 904 which returns control to thecalling process.

If test 896 determines that the TAPL does not allow the recommendedtherapy, process 770 passes control to step 908, which sets the DMOrecord to refer the patient to a human physician. Then, process 770passes control to terminal node 904 which returns control to the callingprocess.

Patient Consent Level

Referring to FIG. 17, the Patient Consent Level function 840 will bedescribed. Function 840 presents a recommended therapy to the patientand obtains the consent of the patient to the therapy, either exactly asrecommended by the DMM, or as adjusted to some variation of it, based onthe patient's responses. The patient may also reject the recommendedtherapy entirely. Function 840 receives control at starting node 920.Then process 840 passes control to step 922, which outputs the therapyas recommended in the DMO to the patient. Next, process 840 passescontrol to step 924, which presents the risks and benefits to thepatient. Next, process 840 passes control to step 926, which presentsother therapy choices to the patient. Next, process 840 passes controlto step 928, which asks the patient to agree to the recommended therapy,or to some version of the therapy. Next, process 840 passes control tostep 930, which updates the DMO to record the choices offered, warningsgiven, and consent level received, with suitable date and time stamps.Next, process 840 passes control to step 932, which computes a functionresult to be returned to the calling process. The consent level grantedby the patient may have several values. The four values used in theflowcharts assume a drug therapy, and are: (1) ok to increase dosage;(2) ok to keep dosage at same level; (3) ok to reduce dosage; and (4)reject this therapy. Next, process 840 passes control to terminal node934, which returns control to the calling process.

Close Session

Referring to FIG. 18, the Close Session process 410 will be described.Process 410 is the last process executed for every DM session. It isspecifically responsible for processing the Disease Management Order(DMO), which contains the complete set of tests made and reasonstherefore, the next therapy step recommended, consent given by thepatient, and various associated orders, such as to fax a prescription tothe patient's pharmacy, to order a test from a laboratory, to prepare areport for the patient's physician, to send printed instructions to thepatient, and so on. Aside from implementing the DMO details, process 410is also generally responsible for logging all events that occurredduring the DM session, storing all relevant data, closing all applicablefiles, scheduling the next DM session, and finally bidding the patientfarewell to indicate that the current DM session is terminated.

Process 410 receives control at start node 950. Next, process 410 passescontrol to test 952, which logs the therapy ordered by the DMO in thepatient's medical history. Then process 410 passes control to test 954,which determines whether the DMO contains special orders to beprocessed. If test 954 determines that the DMO has no special therapyorders, process 410 passes control to step 972, which schedules the nextDM session as specified in the current therapy schedule of the patient.Then, process 410 passes control to node 962. Processing from node 962is described below for process 410. If test 954 determines that the DMOhas special orders, process 410 passes control to step 956, whichschedules the next DM session as ordered by the DMO. Next, process 410passes control to step 958, which prepares and sends various notices andreports to various contacts. These notifications and the contacts thatreceive them are controlled by the Regulatory, Sharing, and otherauthorization fields that are maintained in the Permissions database.Next, process 410 passes control to step 960, which informs the patientabout the next therapy step and gives the patient instructions asordered by the DMO and as permitted by the Permissions database. Next,process 410 passes control to step 962.

Step 962 informs the patient's physician about the DM session and aboutthe therapy ordered by the DMM. While the patient's physician is alwaysentitled to all information generated for the patient, the physician mayspecify the notices sent and the detail reported. The physician'scurrent requirements and limitations for notification are stored in thepermissions database, and may be modified by the physician usingprocesses outside of the DMM. Next, process 410 passes control to step964, which informs the patient about the actions taken by the DMMsoftware, to the extent permitted in the Permissions database. This stepallows the system to tell the patient what it is doing and why, whichcan gain the patient's confidence and help the patient to make betterdecisions in future sessions. This feedback is an important element ofthe long-term therapy optimization that is one of the hallmarks of thisinvention. Step 964 also reviews all special flags set to discuss newsymptoms with the patient. Next, process 410 passes control to step 966,which saves all relevant data in various suitable main and backupstorage locations. Next, process 410 passes control to step 968, whichcloses all applicable data files and releases all temporary computingsystem resources allocated to the DM session. Next, process 410 passescontrol to terminal node 970, which returns control to the callingprocess.

Question Versions

The Question Versions feature of the DMM allows several differentversions of the same question to be written into a script, and defersthe decision which version to use until run-time. The feature uses aglobal data item called the Question Version Index (QVI) to select thedesired version of the question from the script at run time.

The Question Version feature can be visualized as a “Question Roller”: amulti-faceted cylinder with one different version of the questionwritten on each face. To ask a question, the cylinder is rolled todisplay the face that contains the desired question text. If eachquestion of a set is written on a separate cylinder, and all cylindersare rolled in unison to display the same face, as specified by a globalcontrol element, the entire question set of the script can be adjustedor “rolled” as one unit, so that the script as a whole can be adjustedor fine-tuned to ask different versions of the question at differentlevels.

One use of the Question Versions feature is to be able to globallyadjust the sensitivity and selectivity of the language used by theentire DMM, using a DMM-global QVI that controls the linguisticsensitivity. Thus, when the sensitivity or selectivity of questionsneeds to be altered, the Question Roller is turned or ratcheted one wayto increase the sensitivity and the opposite way to increase theselectivity. For this use, each question version differs only slightlyin wording and sensitivity. In some cases, the only difference is acomma (a pause) or an intonation of the voice, such as:

-   -   Is this absolutely the worst headache that you can imagine        anyone having?    -   Is this the worst headache that you can imagine anyone having?    -   Is this the worst headache you have ever had?    -   Is this one of your worst headaches?

Another use of the Question Version feature is to write script questionsaimed at different levels of patient education, intelligence, diseaseunderstanding, or medical expertise. For example, the DMM can ask thesame question in various forms written for a 3rd grader, for a highschool student, for a college graduate, or for a health care provider.Thus, the DMM can adapt output to the patient's communication needs,which may involve a range of decisions based on what is currently knownabout the patient, such as what natural language to use, what the levelof understanding is, what grammar to use (e.g., are we addressing thepatient, the patient's relative, or the patient's doctor?), and whatmedical details to disclose. The DMM can consult the patient's medicalhistory to determine the level of the language, education, andintelligence that the patient can understand. If no indicator ispresent, a mini language IQ test can be given as part of the InitialHealth Assessment task to establish the QVI to use with the patient.

Yet another use of the Question Version feature is to allow the DMM toadjust the question level dynamically, based on the patient responses orrequests. Thus, a patient who is getting confused or lost may ask theDMM to give more detailed instructions on how to respond to questions.The DMM can react by altering the QVI to select more appropriatequestion versions. On the other hand, as the patient learns during asession, s/he may later request fewer instructions and a fastercommunications mode. Again, the DMM can respond by adjusting the QVI. Inthis manner, the DMM learns about the patient's current and past use ofthe DMM and can modify itself to adapt to the patient's naturallanguage, education, medical knowledge, and medical sensitivityrequired.

The Question Version feature is implemented in software by allowingscript authors to collect different versions of a question into a“version group,” in which each version of the question is associatedwith a different QVI. At run-time, the DMM uses the Sensitivity FactorSet to establish a global QVI to specify the current question version tobe used with the current patient by all scripts. When a DMM process(such as the script engine) needs to output a question, it uses theglobal QVI to find and retrieve the desired question from the script'squestion group. Questions that do not require different versions arewritten as a version group with only one question, which acts as thedefault question. This default question is also used when there is noquestion in the version group for the current global QVI.

This Question Version design allows questions versions to be written fora wide range of QVIs, without having to write a version for each QVI. Asimple script can just have one question version; as the scriptimproves, additional question versions are added. For example, the firstscript might be written in English, and later upgraded to add Spanishversions of each question.

The Question Version feature is implemented in the form of a QuestionVersion Index and two separate functions Set QVI and Select Question. InFIGS. 19 a and 19 b, these elements are shown as follows:

Global Version Index (QVI) is data item 1020;

Set QVI is process 1000;

Select Question process is shown as process 1001.

The current setting of the Global Version Index 1020 determines whichone of several different question versions is selected and output to thepatient. Data element 1020 is stored as a control field in thepermissions database 256 (FIG. 3), and is changed by process 1000 andused by process 1001.

Process 1000 is a DMM-global system service routine that sets andupdates data element 1020 periodically. Process 1000 receives control atstarting node 1002. Then process 1000 passes control to step 1004, whichidentifies the patient whose data element 1020 is to be set. Thenprocess 1000 passes control to step 1006, which retrieves the currentvalue of the patient's data element 1020. Then process 1000 passescontrol to step 1008, which computes the new value of the data element1020. Step obtains the level of sensitivity desired from the currentSensitivity Factor Set, and obtains other parameters from the patientmedical history, such as the level of patient's education, the level oflanguage understood, and the QVI settings used in past DM sessions.After step 1008 computes a new QVI value, process 1000 passes control tostep 1010, which stores the new value in the patient's data element1020. This completes the action of updating the patient's data element1020. Then process 1000 passes control to terminal node 1012, whichreturns control to the calling process.

Process 1001 is a DMM-global routine that uses the Global Version Index1020 to select one question from a set of questions. Process 1001receives control at starting node 1022. Then process 1001 passes controlto step 1024, which loads the applicable question set from the currentscript's data area.

Then process 1001 passes control to step 1026, which obtains the currentvalue of the Question Version Index 1020 from the patient's permissionfile. Then process 1001 passes control to test 1028. Test 1028determines whether the question version selected by the QVI is in thequestion set obtained in step 1024. If test 1028 determines that thedesired version is in the question set, process 1001 passes control tostep 1030, which retrieves the question with the desired question levelfrom the set. Then process 1001 passes control to step 1034, whichreturns the question selected from the set as a function result to thecaller. Then process 1001 passes control to terminal node 1036, whichreturns control to the calling process. If test 1028 determines that thedesired version is not in the question set, process 1001 passes controlto step 1032, which retrieves the default question from the set. Thenprocess 1001 passes control to step 1034, which returns the questionselected from the set as a function result to the caller. Then process1001 passes control to terminal node 1036, which returns control to thecalling process.

Preview Mode

Preview Mode is a DMM script run-time mode that allows the patient to“look ahead,” that is to examine the consequences of a response before“officially” giving the response. In effect, the patient can say—at anypoint in a script—“let me see what this answer would do”. One use ofPreview Mode is to let the patient suspend an ongoing dialog to see whata pending question means. Knowing the consequences of a response ishelpful in clarifying the impact or focus of a question. Thus, in aprinted flowchart or procedure, one good way to find the best path is tolook ahead to see what the consequences (or recommendations) would be ofanswering a question a certain way. Another uses of Preview Mode is tolet the script explicitly warn the patient that a particular questioninvolves serious consequences, and to use Preview Mode so that thepatient can consider the effect of each response. For example, oneresponse may begin action to contact the patient's physician, or totransfer the patient to an emergency facility. If the script can warnthe patient about this consequence, the patient can preview theseresponses without activating them, and can alter the direction of thescript dialog.

Referring to FIG. 20, the process 1060 will be described. This processshows only those steps of a DM session that handle the Preview Modefeature, which is involved in the steps that ask the patient a questionand process the response. Other steps of a DM session that are notconcerned with the Preview Mode are omitted for clarity. Process 1060receives control at start node 1062. Then process 1060 passes control totest 1064. If test 1064 determines that there are no further questionsto be asked, process 1060 passes control to terminal node 1066, whichterminates the Preview Mode. If test 1064 determines that is a questionto be asked, process 1060 passes control to step 1068, which outputs thequestion to the patient. Then process 1060 passes control to step 1070,which outputs the set of responses to the patient. Then process 1060passes control to step 1072, which inputs a response from the patient,together with an indicator that the patient does or does not want topreview the script's actions for this response. Then process 1060 passescontrol to test 1074. If test 1074 determines that the patient hasresponded with the preview indicator set, process 1060 passes control tostep 1076. Step 1076 retrieves the preview information that is codedinto the script (as part of the normal question and response texts) andoutputs it to the patient, so that the patient sees or hears adescription of what the selected response would do in “real” mode. Forexample, a preview text might tell the patient that “A YES response willincrease your daily medication dose for the next 2 weeks”. After thepreview text is output to the patient, process 1060 passes control tostep 1068, which asks the same question again, as described above forstep 1068. But if test 1074 determines that the patient has respondedwithout the preview indicator, process 1060 passes control to step 1078.Step 1078 performs the actions normally scripted for the response given.Then process 1060 passes control to test 1064, which determines whetherthere is a next question to be asked, as described above for test 1064.

No-Response Feature

Every DMM dialog with a patient is controlled by a script. During anormal session, the script selects a question and outputs it to thepatient, and the patient inputs a response. The script analyzes theresponse, selects another question, and outputs it to the patient. Thisquestion-response-question-response dialog continues until the sessionis terminated normally. However, when a patient unexpectedly fails torespond in the middle of the dialog, all scripts are designed to invokethe No-Response (NR) feature, which is responsible for takingappropriate continuation action for the script. The NR feature is a DMMsoftware mechanism that is triggered when a timeout condition issignaled by the operating system. The NR mechanism can take any numberof actions that have been pre-arranged by the script and can be changedas the script runs. The NR actions can range from a silent entry in theDM sessions log all the way to using health data from the patientmedical history and medication and symptom data from the diseasedatabase to contact a responsible neighbor of the patient, or a nearbyemergency response facility.

One use of the NR feature is to perform a medical disease- andpatient-specific evaluation of the failure of the patient to respond.Obviously, in certain patients with certain diseases (e.g. heartproblems, head injury, diabetes) the patient's sudden failure to respondin the middle of a normal dialog may indicate any number ofpossibilities. The NR feature is of special value in the context of theDMM, which has detailed medical information about a patient fromprevious sessions, and in the context of the First Opinion SupportSystem, which has extensive relevant databases indexed by geographiclocation around the world (e.g., emergency rooms, 911 agencies,paramedics). Because of what the system knows about a patient, the NRfeature can take very situation-specific actions. A very simple examplewould be a 60-year old man consulting for chest pain: sudden failure torespond to a question would suggest a cardiac arrest and could initiateemergency actions, including calling the patient's local 911 agency.

Referring to FIG. 21, the process 1100 is described. Note that process1100 shows only those portions of a script's steps that are relevant tothe No-Response Feature. Other steps of the scripts are omitted forclarity. Process 1100 receives control at start node 1102, whichrepresents the generic start node of any script. Then process 1100passes control to step group 1104. Step group 1104 represents all of thescript's actions that do not involve the NR Feature. If the scriptterminates as part of one of these steps, process 1100 passes control toterminating node 1106, which terminates the script. When one of thesteps in step group 1104 wants to ask a question of the patient, process1100 passes control to step 1108. Step 1108 sets up the NR parametersneeded later, if the patient should fail to respond. The source of theseparameters is the patient's medical history 254, which contains therelevant information to be used if the patient fails to respond, such asthe patient's disease, health state, medications being taken, physician,nearest emergency facility, and so on. Step 1108 stores the NRparameters as a data set 264. Then process 1100 passes control to step1112, which outputs the actual question to the patient. Then process1100 passes control to test 1114. Details of step 1114 vary withoperating system and hardware platform, but the typical action is to seta timeout flag for a specified wait time, yield control to the operatingsystem, and regain control when the operating system returns a responseor the wait time has expired. If test 1114 receives a response, process1100 passes control to step group 1104, where the normal script'sactions continue. If test 1114 receives a timeout, process 1100 passescontrol to step 1116. Step 1116 retrieves the patient-, disease-, andlocation-specific NR data from the data sets 264 and 254 and performsthe NR actions requested. When step 1116 has performed the NR actions,process 1100 passes control to terminal node 1116, which represents thegeneric termination of a script due to a timeout.

PQRST Array

Sir Thomas Lewis said that pain is “known to us by experience anddescribed by illustration”. The ability to encode the subjectiveexperience of pain into a standard and repeatable format is an essentialasset to any system of automated medicine. Many diagnostic sessionsbegin with a patient reporting some type of pain to a physician in theform of a chief complaint; a thorough description of pain can quicklysuggest as well as eliminate many diagnoses, using a table lookup ordatabase access mechanism.

The PQRST Array feature describes a set of software processes and datathat work together to encode a patient's description of pain into a“pain code”, which is a specially formatted array of integers. Encodingis done in a manner that preserves the subjective information, so thatit is possible to decode a pain code by using the array integers torecover the original words used to describe the pain.

A pain code is composed of subcodes; each subcode identifies onewell-defined detail aspect of the experience of pain such as location,sensation, frequency, etc. The pain subcodes are arranged into aspecific sequence or format that is known to all software processes thatmanipulate the pain code. The sequence used to encode the aspects isitself prefixed as a number to the sequence, so that so that the firstaspect of the array always identifies the coding scheme that is used forthe array. This makes the PQRST Array flexible and extensible, sincevarious encoding schemes can be used to meet various needs. Any softwareprocess that needs to decode a PQRST in the future simply examines thefirst aspect code and knows from its value which decoding scheme to usefor the rest of the aspects.

The PQRST Array feature permits encoding of a patient's report of paininto digital form that is suitable for software processes. For example,a patient's complaint that “when I bend my right arm or rotate my wrist,even slightly, the elbow area hurts really bad, with a sort of gritty orgrinding sound, but there is no bleeding” may be encoded by letting thepatient select from standard descriptor words (e.g. gritty, tight, numb)and converting the selected words into an integer array something like(7, 2, 3, 8, 5, 970612, 2, 13). This array represents the numeric valueof various aspects of pain such as location, repeatability, quality, ora date such as 970612. For any given aspect, the number represents somedegree or description of the pain. Thus, if the fourth aspect numberrepresents Sounds-Associated-With-Movement, the subcode value 8 mayrepresent “gritty/grinding noise associated with joint movement”.

The “PQRST” label is adapted from the classic mnemonic used by medicalstudents for the basic aspects of pain, which are:P=Provocative/Palliative (what brings it on, makes it worse, or makes itbetter); Q=Quality (sharp or dull); R=Region (head or chest, etc.);S=Severity (mild to agonizing); and T=Timing (when the pain started).These aspects represent a starting point for the PQRST Array, which isextensible to include other useful subjective descriptors of illness,with many additional aspects associated with the pain such as Cause(infection, trauma), Mass (mole, lump), Size (fingertip, golf ball),Sensation (tickling, pulsing) and objective associations (color, smell,discharge).

To encode a description of pain into a pain code, a process

-   -   uses a set of pre-defined aspects (i.e. facets, elements,        dimensions) of pain,    -   uses a set of pre-defined aspect words defined for each aspect,    -   obtains the applicable aspect word from the patient    -   encodes all aspect words into subcodes    -   formats the subcodes as a physical data item (the PQRST Array)    -   stores the PQRST Array in memory or on disk    -   uses the address of the storage location as a pointer

To manipulate a pain code as a whole, a program

-   -   passes the pointer to the PQRST Array    -   uses the pointer to access the PQRST Array, if necessary

To decode a pain code, a program reverses the encoding process:

-   -   uses the pointer to locate the PQRST Array in memory or storage    -   retrieves the PQRST ARRAY from memory or disk    -   retrieves each subcode    -   decodes each subcode into its subjective aspect word    -   outputs the aspect words as the subjective description.

Referring to FIG. 22 a, the process 1140 will be described. Process 1140comprises the steps required to create a PQRST Array that represents thedigitized form of a patient's subjective description of pain. Process1140 is described here assuming that the patient is on-line and caninteractively enter subjective pain description details when prompted byprocess 1140. Process 1140 receives control from a calling process atstart step 1142. Step 1142 is the beginning of a loop that encodes painaspects entered by the patient into a matching set of pain subcodes.Step 1142 allocates space for a PQRST Array that will contain thesubcodes. Next, process 1140 passes control to step 1144, whichestablishes the next pain aspect to be encoded. Next, process 1140passes control to step 1146, which retrieve a list of standard aspectwords from database 1150 and outputs them to the patient in a format ofa pick list, i.e. a list that the patient can examine and from which thepatient can pick one of the aspect words. Next, process 1140 passescontrol to step 1152, which asks the patient to select the aspect wordfrom the pick list that best matches the patient's subjectivedescription of the pain aspect being encoded. Next, process 1140 passescontrol to step 1154, which converts the aspect word selected by thepatient into an integer that identifies that aspect word. This integeris the subcode for the current aspect. It can be simply the indexposition of the selected aspect word in the pick list. Next, process1140 passes control to step 1156, which inserts the subcode integer intothe PQRST Array, at the index position that represents the aspect beingencoded. Next, process 1140 passes control to test 1158, whichdetermines whether more aspects are to be encoded. If test 1158 findsthat there are more aspects to be encoded, then process 1140 passescontrol to step 1144 to begin another iteration of the loop justdescribed. If test 1158 finds that there are no more aspects to beencoded, then process 1140 passes control to step 1160, which stores orcopies the PQRST Array into the appropriate data set, such as thepatient's medical history 254. Next, process 1140 passes control to step1162. Step 1162 returns control to the calling process.

Referring to FIG. 22 b, the process 1170 will be described. Process 1170is an example of the steps required to use a PQRST Array as an index toretrieve a specific diagnosis from a table of diseases. This exampleassumes that a list of diseases (or disease sets, where there is morethan one disease for a given pain code) has been indexed by pain codeand stored into a database of diseases 262. This example also assumesthat there is a software process for accessing the database that canretrieve elements of the database when given an access key. One obviousexample of such a database access mechanism is a suitably formattedStructured Query Language (SQL) statement; another example is a simplearray of disease names or pointer that is accessed using the indexposition of each element. Process 1170 receives control at start node1172. Then process 1170 passes control to step 1174, which loads a copyof the PQRST Array to be used to select the diagnosis from database 262.Next, process 1170 passes control to step 1176, which converts the DMMpain code into an access key that is formatted as required by theprocess that accesses database 262. Next, process 1170 passes control tostep 1178, which uses the access key to retrieve the record matching thepain code from database 262. Next, process 1170 passes control toterminal node 1180, which returns control to the calling process.

Disease Management Order (DMO)

The Disease Management Order is a data record that is attached to thepatient at the beginning of a DM session, travels with the patient fromprocess to process, and is used at the end of the session (by the CloseSessions process) to implement the decisions and orders issued by thevarious processes during the session. The DMO record contains numerousfields and is stored in the sessions area of the DM-specific databases264 (FIG. 3). One key field of the DMO, named Code, typically containsthe next processing to be performed for the patient.

One use for the DMO is to signal special processing required for apatient. For example, to flag a new patient for a one-time requirementto conduct an initial interview, the Open Session process sets the DMOCode field to “assess initial health” (FIG. 6, node 448). The DM sessionprocess then continues into Health Assessment, which examines the DMOCode and shunts the patient into the Initial Health Assessment process488 (FIG. 7).

Another use for the DMO is to repeat processes as needed. For example,if the Correlation Assessment process requires additional health datafor the interval between session, it can invoke Health Assessment againto obtain missing data (FIG. 12, node 660). When the process has enoughdata, it sets the DMO Code to “optimize therapy” and the patient isshunted out of the assessment cycle.

Another use of the DMO is to track various reasons for decisions made,which can be used by the Close Sessions process to issue detailedreports of what the DM processes learned about the patient. For example,the Therapy Adjustment processes can refer the patient to a physicianfor different reasons (FIG. 14, nodes 778 and 784; FIG. 15, nodes 832,854). In each case, the DMO code is set to “refer to MD”, but the DMOReason field is set to indicate a different reason.

Finally, the key use of the DMO is to represent “doctor's orders”, i.e.to accumulate all of the orders issued during the session, so that theycan be implemented when the session is terminated (FIG. 18, node 956).

Permission Database

The Permissions Database 256 (FIG. 3) is a collection of all of thesoftware elements that control access to DMM data and actions taken byDMM processes. This database supports the DMM safety, security,reliability, control, and management features in the form of passwords,access rights, need-to-know and right-to-know clearances, disclosureauthorizations, consents, constraints, limits, thresholds, and so on.The Permissions Database is the interface through which a human staff ofmedical and software experts can specify and control what automaticactions the DMM can and cannot perform. Since permissions govern theactions of all DMM processes, the Permissions Database can be used todynamically configure the system to run in various modes, ranging fromfully automatic to totally non-automatic, where the DMM has to askpermission for every detail step to be taken. The latter mode isespecially useful for experimental, test, problem tracking, or systemauditing uses.

Three tables of the Permissions Database are relevant to the operationof the DMM processes described above; they are described under theirrespective section headings below: Regulatory Permissions, SharingPermissions, and Therapy Alteration Permission Level (TAPL).

Regulatory Permissions

Regulatory Permissions are data sets that insure compliance of the DMMwith all applicable regulatory, licensing, and legal requirements andrestrictions of the many jurisdictions in which it operates. TheRegulatory Permission data sets are organized by jurisdiction, andspecify for each jurisdiction which data fields can be disclosed to whatagency. The Regulatory Permissions feature addresses a very complexissue that is typically ignored by other automated medical systems,namely that such systems may be deemed to be practicing medicine in andacross controlling jurisdictions, even across international borders, andmust therefore meet a large number of various medical practiceconstrains and licensing regulations. This feature allows the DMM tocomply with the law in its actions and in its contacts with patients,physicians, health care management organizations, government agencies,and so on.

Regulatory Permissions are DMM-global, and can be used wherever they areapplicable. One example is in the Close Session process (FIG. 18, nodes958-964) which must consider the legal requirements and prohibitionsregarding disclosure of confidential medical data before distributingnotices, instructions, and reports about the DM session or the patient.

Sharing Permissions

Sharing Permissions are used to manage disclosure of individual medicaldata items. Every data field in the patient medical history isassociated with an access control field that specifies whether or notthe medical data item can be disclosed to the patient, to various agentsor agencies, and to other software objects with specific accessauthorizations. Sharing Permissions are used by the DMM Close Sessionprocess (FIG. 18, nodes 958, 960) to decide what medical data items canbe disclosed (i.e. “shared”). in its messages and reports to patients,patient agents, physicians, laboratories, pharmacies, health caremanagement organizations, or government agencies.

Another use of Sharing Permissions is to prevent a diagnosis from beingdisclosed to the patient under circumstances when it would beinappropriate (FIG. 18, node 964).

Therapy Alteration Permission Level (TAPL)

The Therapy Alteration Permission Level (TAPL) is a data set thatspecifies the various levels of authority the DMM has to change patienttherapy. The TAPL defines the degree of autonomy that the DMM has tomanage a patient's disease without prior human approval. Whenever apatient medical history data item is requested by (say) a governmentagency or an insurance company, the DMM consults the access controlfield of that data item to see which sharing permission level isrequired for it. Then the DMM consults the Permissions database toverify that the requesting agency has access permission at the specifiedlevel.

At its most restrictive level, the TAPL requires DMM to notify aphysician whenever the DMM determines that the patient could benefitfrom a change in therapy, and to obtain permission before adjustingtherapy in any way. The least restrictive TAPL setting allows the DMM toautomatically change a patient's treatment without human intervention.TAPL settings between these extremes require various degrees of priornotification and approval for different therapeutic interventions. TheTAPL is used by all DMM functions that change patient therapy or giveadvice to that effect (FIG. 15, node 830; FIG. 16, node 896).

Meta Structures

Meta Data Array

For the purpose of discussing the medical management system metafunctions, a system data structure used to record, track, analyze, andreport medical problems can best be visualized as a two-dimensional gridor array called the Meta Data Array. This array lists the causes ofdisease (e.g., trauma, infection, allergy) along one dimension (theabscissa or x-axis) labeled as CAUSE and lists the anatomic systems ororgans affected by disease (e.g., cardiovascular, respiratory, nervous)along a second dimension (the ordinate or y-axis) labeled as ANATOMY. Agiven disease can then be seen as the cell in the Meta Data Array thatis at the intersection of the applicable Cause and Anatomy dimensions.

In implementation, both the Cause and Anatomy axes are, of course,extensively subdivided. Thus, for example, the infection cause issubdivided into bacterial and viral; bacterial is broken down into grampositive and gram negative; gram positive is further broken down intostreptococcus, and so on, to the point where the system can identifyultimate causes such as “meningococcal gram negative bacterialinfection.” The Anatomy dimension can obviously also be subdivided intoorgan structures, organs, tissues, cells, and so forth.

Meta Data Cube

As the medical management system has more contacts with a given patient,the additional patient data extends the Meta Data Array along a timedimension to form a Meta Data Cube. The time axis is also referred to asthe “Z” axis.

The Meta Data Cube is an internal data structure that supports variousmeta functions. The details vary, depending on which medical systemmodule is performing which type of meta analysis, but all of thefollowing examples apply:

-   -   Several episodes of the same complaint (Frequency Meta)    -   Several infections in different anatomic systems (Cause Meta)    -   Different complaints in the same anatomic system (Anatomy Meta)    -   Long-term patient history, e.g., smoking habits over 35 years        (Volumetric Meta)    -   Chronic disease history, e.g., five years of Asthma or Malaria        attacks    -   Short-term disease progress, e.g., three days of        gastrointestinal pain, headaches, vomiting        Meta Functions

Meta Functions are medically-oriented software objects that operate at aglobal level of the entire medical management system and its variousmodules. They observe, record, track, and analyze patient interactionswith the system to:

evaluate a patient's use of the system,

look for patterns or relationships that may signify a problem,

“step back” to look at the patient's overall interaction with thesystem,

analyze a patient's current session in the context of past sessions.

Meta Functions automate that aspect of the human physician that sees apatient as a total, complex bio-mechanism that is malfunctioning andrequires corrective measures over a time span. They give the DMM thepowerful ability to analyze patient health as a whole, to developlong-term medical diagnoses, therapies, advice, and managementstrategies.

The Frequency Meta Function uses the Sequential Summing Meta Function toanalyze the frequency of consultations regarding the same disease. TheAnatomic Meta Function analyzes patient complaints based on the anatomicorgan system involved. The Cause-Effect Chaining Meta Function traces adisease back to its cause(s) and then forward to other disease(s). TheArea Meta Function and the Volumetric Meta Function analyze changes indisease parameters over time. The Critical Curve Meta Function monitorspatient health for significant deterioration by comparing it to astandard curve for the disease being managed. The Interval Metaevaluates the time intervals between consultations for the same disease.The Reliability Meta assesses the probability of data reliability andintegrity.

The Meta Functions described for disease management use the same “MetaData Cube” data structure described in Applicant's patent entitled“Computerized Medical Diagnostic and Treatment Advice System,” U.S. Pat.No. 5,660,176. However, since DM has different objectives, it examinesdifferent data elements of the cube along different axes.

The word “meta” refers to the overall nature of these functions, whichfocus on manipulating health data not at a detailed level but at a levelof long-term time trends, global patterns, statistical distributions,and other summary relationships. The word “function” here refers to thevarious computational and analytical techniques used, which employclassic and fuzzy logic, arithmetic, geometry, trigonometry, analyticalgeometry, calculus, statistics, probability, domain mappings, transforms(Laplace, Fourier), heuristics, recursion, and so on.

Meta functions are implemented and embodied in the form of suitable dataand process structures such as databases, tables, arrays, modules,objects, scripts, lists, subroutines, procedures, functions, and so on.

A. Sequential Summing Meta

The Sequential Summing (SS) Meta function detects and integrates theeffect of one patient accessing separate modules of the entire medicalmanagement system, such as the diagnostic module and the DMM, becauseseparate sessions—when combined—may represent a significant change ordeterioration in the patient. The SS Meta function analyzes the combinedeffect of the separate modules, and may make a recommendation based onthis global analysis.

The SS Meta uses pre-set thresholds for different combinations of thesystem modules being summed. The thresholds are contained in an internaltable that lists all of the module combinations such as medicaldiagnosis+disease management, medical diagnosis+medicalaudio/video/image library, medical diagnosis+treatment tableconsultation, and so on.

For example, if the Medical Diagnosis module was consulted for wheezingand diagnosed as Asthma, and the DM module was later used for Asthmamanagement, and the Medical Audio/Video/Image library module wasconsulted several times for pre-recorded messages on Asthma, the SS Metafunction would use the proper values from the table at medicaldiagnosis+disease management+medical audio/video/image library forAsthma to calculate a threshold to trigger special recommendations.Thus, even though threshold was not reached in any one module, when theconsultations for asthma in the diagnostic, disease management andaudio/video/image library consultations are combined and consideredtogether, threshold is reached.

B. Frequency Meta

The Frequency Meta function reviews the number of times that a patienthas consulted the system and makes recommendations based on thatconsultation frequency. The function calculates how many times thepatient has interacted with the system for the same complaint ordisease, medical audio text consultation or treatment tableconsultation, uses the Sequential Summing Meta function to analyze thecombined effect of the consultations, and may make a recommendationbased on this global analysis.

When a patient is admitted to the medical management system, for eachdisease being managed, a threshold is established for the number ofconsultations (inbound as well as outbound) per unit of time. Thethreshold is different for each disease and is modified by thesensitivity factor set. If this threshold is reached, the Frequency Metafunction makes a recommendation. That is, the fact alone that thepatient has had a certain number of symptom occurrences of a given typemay trigger a recommendation from the Frequency Meta functions.

C. Internal Meta

The Interval Meta function analyzes the time intervals between eachinteraction for the same disease to detect trends that may signify aproblem. For example, if the function were to discover that thepatient's interactions with the system are occurring closer and closertogether, the function could make a recommendation based on this factalone.

The sequential summing series method is used. The interval betweenconsultations is plotted and a meta recommendation is made if theintervals are getting shorter

D. Cause Meta

The Cause Meta function is a DM background task that looks for diseaseor cause patterns that may help to identify root causes. The functionmonitors and analyzes the patient's use of various system modules.

The Cause Meta function identifies a sequential summing series indecreasing intervals of time between medical diagnosis, diseasemanagement, medical audio text library, treatment table consultation andall their combinations. For example, assume that a patient has consultedthe system on several occasions with complaints manifesting in differentparts of the body, and that during each session, the medical diagnosismodule has (properly) attributed each separate problem to being causedby infection. The Cause Meta function detects such a series ofconsultations, and—if they reach a preset threshold per unit time—alertsthe system that the root cause may lie in the patient's immune system.If the system is caring for a patient with multiple episodes of trauma,the Cause Meta function will help the system to consider the possibilitythat the patient is abusing drugs or alcohol.

E. Anatomic Meta

The Anatomic Meta function analyzes patient contacts with the medicalsystem from a viewpoint of a single organ or anatomic system of thebody. The function looks for different diseases being managed that mayimpact the same anatomic system. The function automates the aspect of DMthat—when different diseases all affect the same organ—it is oftenessential to monitor and frequently measure the functioning of thatorgan.

For example, if a patient consults the medical diagnostic module onthree different occasions for abdominal pain, vomiting, and diarrhea,the Anatomic Meta function recognizes that these problems all involvethe gastrointestinal tract, and may cause the system to adjust itsrecommendations based on that additional information.

For example, diabetes mellitus and hypertension both cause slow andprogressive deterioration of kidney function. The Anatomic Meta functiondetects the need for such special monitoring. Based on some internal,preset thresholds, the Anatomic Meta analysis may cause diseasemanagement system to recommend an evaluation of the impacted organfunctions. In the example above, for a patient being managed fordiabetes and hypertension, the Anatomic Meta analysis could cause themedical management system to recommend a serum creatinine, a test ofkidney function, at appropriate intervals.

F. Cause vs. Anatomic Meta

The Cause vs. Anatomic Meta function coordinates an interaction betweenthe Cause Meta and Anatomic Meta functions. As the Cause Meta andAnatomy Meta functions interact more closely, their interaction isdescribed here.

As the patient uses the medical management system over time, theCause/Anatomy cells are stacked along the time or Z-axis, which tracksthe moment in time when intersection of the cause and anatomic system,i.e., making the diagnosis actually occurred in the patient.

The Meta Data Cube represents a summation of the patient's interactionwith the system over time. Although much of the patient's past historyis stored using ICD-9-CM codes, as well as conventional text strings inthe fields of the patient's medical record, this technique allows veryuseful analyses to be done.

It is important to note that the system may be able to assign a cause toa problem without knowing the anatomic system involved, and that thesystem may indicate what organ or organ system is involved withoutknowing the cause of the patient's problem. For example, a six-year-oldchild who complains of muscle aches, headache, runny nose, and jointaching most likely has a viral infection, but it is hard to ascribe aspecific organ system in which it is being manifested.

Interestingly, while in the diagnostic module, and while findingmultiple problems occurring in the same module, a different pattern isproduced in disease management. For example, diabetes can be representedby or at the intersection of an endocrine and the vascular system. Butanother way to visualize the disease process in diabetes is to go onestep further as follows. Whenever the medical management system realizesthat another disease process (like diabetes) affects the vascularsystem, then “vascular” as a CAUSE of further disease is searched.

G. Causal Chaining Meta

The Chaining Meta function automates the analysis of the medical factthat certain diseases produce pathologic changes in other organs of thebody, meaning that a disease can cause and be caused by other diseases.For example, the Chaining Meta function looks at a given disease as bothcause and effect, and performs three analyses for a given disease D:

-   -   1. Find the root cause of D.    -   2. Find other diseases caused by D.    -   3. Repeat steps 1 and 2 recursively to find other root causes        and other diseases caused by D.

Thus, the Chaining Meta analysis traces the total impact of disease onthe body. It uses the Cause Meta function (which is used to detect theimmediate, single cause of a complaint or disease) to recursively findremote causes and diseases. Given a starting disease, the Chaining Metaanalysis uses the Meta Data Cube to detect patterns that let theanalysis go backward in the cause chain to detect other possibleproblems in a patient. In this way, it does the analysis needed todetect related problems that have so far been masked or have not yetsurfaced.

An internal Cause-Effect table used by the Cause-Effect Meta functioncontains fundamental medical knowledge of anatomic systems, theirrelationships, their diseases, and disease causality chains. This tableidentifies patterns that need to be explored for root causes andsecondary disease. A second table, used in controlling the processing ofthe causality chains, contains other data such as probability ofoccurrence, seriousness of the secondary diseases, and possibletherapeutic windows.

The result of the Chaining Meta computation is a list of diseases tocheck for and monitor in the current patient. These results are usefulin:

-   -   insuring that side effects of disease are not missed,    -   not overlooking disease management therapy needed to stabilize a        patient,    -   confirming a cause by verifying other effects (headache is        consistent with Appendicitis),    -   negating a cause by not finding required effects (lack of        Plasmodia in blood denies Malaria).        H. Area Meta

An example of area meta can be described as plotting pain or discomfortagainst time and then integrating the area under the curve to look atthe total amount of suffering or discomfort. This is important becausemany patients, particularly with incurable illness, such as terminalcancer patients, are in continuous pain but they are isolated, do notsee their doctor regularly, or their physician does not appreciate howmuch the patient is suffering. They tend to “chase the pain,” and nevercatch up. Here, once a threshold of suffering as been met, the patientcould get narcotic analgesics or have their dose increased.

I. Volumetric Meta

The Volumetric Meta function performs analysis based on the(3-dimensional) product of Disease×Anatomy×Time and makesrecommendations based on pre-set thresholds. The word “volumetric”refers to the Meta Data Cube analysis method used, in which a smokinghistory appears as the volume enclosed by the three axes P (Poison), R(Respiratory System), and Z (Time). For example, a patient who hassmoked two packs of cigarettes daily for 30 years is deemed to have ahistory of 60 pack-years impacting the respiratory system.

Volumetric analysis is significant in many disease processes. Thus, thepatient with a smoking volume of 60 pack-years has accumulatedsignificant damage to the respiratory system. The longer this has beengoing on, the larger the volume, the more poison has impacted thefunctioning of the respiratory system, and the more likely certaindiagnoses or therapies will be.

Another example of volumetric analysis is the long-term damage thatdiabetes causes in the microvascular circulation.

The software implementation of the Volumetric Meta function involvesvarious internal disease management tables that list volumetric productsfor various diseases as well as their threshold parameters. Thesethresholds (as modified dynamically by the sensitivity factor set)control special actions and analyses of the system. When an applicablethreshold is reached, the system performs special analyses and thenissues internal alerts to look for possible evidence of damage beingdone to the applicable organ system(s) and to make specialrecommendations for the patient.

J. Reliability Meta

The Reliability Meta function looks at the reliability of all of apatient's data items to see if the patient's care is inadequate. Thefunction can recommend the re-evaluation of a patient if it finds thatthe (separate or combined) probabilities of a diagnosis are below areliability threshold (modified by the sensitivity factor set).

The function uses internal Reliability Indicators, associated with everydata item, that track the probability that the data item reflects theactual health of the patient at the time for which it was recorded.These Reliability Indicators are established for every data item in themedical management system when it is first established, and remainassociated with it throughout its life in the system.

For example, if a patient tells the system that he has a history ofmigraine headaches, the system may ask the patient:

-   -   Who made the diagnosis of migraine (patient, friend, nurse,        physician, or neurologist)?    -   What tests were run, by whom, on what tissue, with what results?    -   Who confirmed the tests, how, in what context?

The idea, of course, is that if a headache specialist made the diagnosisafter a full and complete workup including imaging (MRI) of the brain,lumbar puncture, EEG, etc., the probability that the diagnosis iscorrect is very high. This will be recorded in the ReliabilityIndicators and associated with the diagnosis data item. If thereliability is too low, the patient will be scheduled for re-evaluationat a higher level or standard of care, which will invoke more preciseand more thorough questioning.

Benefits of Disease Management

The benefits of the medical management system and the Disease ManagementModule are as follows:

Benefits to Patients

-   -   faster, easier, cheaper medical services    -   medical service accessible at off hours, from home, when needed    -   medical service accessible in remote locations, poor communities    -   the latest, best, tested, updated medical services    -   patients can take their time, can repeat sessions, can browse    -   patients have a complete medical history on file

Benefits to Health Care Providers

-   -   reduces trivial, inappropriate, useless contacts with patients    -   hones doctor's diagnostic skills/experience    -   doctor can compare own opinion to others    -   repeat patients offer better, continuous medical records    -   providers can access more medical data resources    -   computer supports access to statistics, databases,        decision-making, scheduling    -   history of sessions and diseases is available    -   providers can justify advice/actions based on logged responses    -   can compare patients across/along populations    -   have large database of cases        Benefits to Health Care Managers    -   saves costs of trivial contacts    -   tracks contacts    -   statistical information and projections    -   profiles doctor/hospital practices    -   session logs reduce legal liability and exposure    -   ensures compliance with policies    -   standardizes advice and treatment        Benefits to Health Care Regulators    -   actions of HMOs, Physicians can be reviewed and assessed    -   medical records are available for critiques    -   can verify compliance with regulations        Benefits to Health Care Teachers    -   medical practice can be simulated on large patient populations    -   aids study of medicine    -   case studies can be compared    -   case handling can be repeated, with changes

While the above detailed description has shown, described, and pointedout the fundamental novel features of the invention as applied tovarious embodiments, it will be understood that various omissions andsubstitutions and changes in the form and details of the systemillustrated may be made by those skilled in the art, without departingfrom the spirit of the invention.

The invention claimed is:
 1. A patient medication therapyself-management method, utilizing a non-transitory computer readablemedium, operating a computer readable program code, configured toprovide therapy according to patient self-assessed pain, the computerreadable code comprising instructions that are executed by a computerdevice or processor, causing the processor to perform the steps of:storing, in a data storage accessible to the program code, (a) a listingof aspect words describing a pain and at least one of a degree ordescription of the pain; and (b) a therapy alteration permission level(TAPL) limiting available therapy changes; receiving, via directinteractive dialog between the patient and the computer device orprocessor, a patient self-selection of an aspect word from the listingof aspect words, the self-selection describing a pain experienced by thepatient, the computer device or processor providing an interfaceconfigured to engage the patient in the direct interactive dialog;converting the received aspect word into an integer subcode thatrepresents the received aspect word; and altering the patient's therapywithin the limitations of the TAPL based on at least one of the integersubcodes.
 2. The method of claim 1, wherein the listing of aspect wordsfurther includes at least one of provocative, quality, region, severity,and timing.
 3. The method of claim 1, wherein the TAPL further includesa limitation applicable to at least one of: a maximum and minimum dosagechange associated with a current therapy of the patient, a drug class, adrug type, a drug brand, a dose, a route, a mode of drug administration,a formulation, a timing, and a frequency.
 4. The method of claim 1,wherein the available therapy changes further include at least one of:an increased dosage, a decreased dosage, a new treatment, a drug class,a drug type, a drug brand, a dose, a route, a mode of drugadministration, a formulation, a timing, and a frequency.
 5. The methodof claim 1, wherein the integer subcode that represents the receivedaspect word further identifies at least one of location, sensation, orfrequency.
 6. The method of claim 1, wherein the medication therapyself-management further includes therapy changes based on a subjectivepatient description of pain factored by a subjective objectivecorrelation factor (SOCF).
 7. The method of claim 4, wherein theavailable therapy changes further include an increase or decrease ofdosage in conformance with a treatment table factored by a subjectiveobjective correlation factor (SOCF).
 8. The method of claim 4, whereinthe new treatment further includes an additional or substitute therapytype.
 9. A system for patient medication therapy self-management, thesystem comprising: a computer readable medium having non-transitorycomputer readable program code embodied therein for providing therapyaccording to patient self-assessed pain, the computer readable programcode executed by a computer device or processor; a data storageaccessible to the program code, the data storage configured to store;(a) a listing of aspect words describing a pain and at least one of adegree or description of the pain; (b) a therapy alteration permissionlevel (TAPL) limiting available therapy changes; (c) a patientself-selection of an aspect word from the listing of aspect words, theself-selection received via direct interactive dialog between thepatient and the computer device or processor, the computer device orprocessor providing an interface configured to engage the patient in thedirect interactive dialog, the self-selection describing a painexperienced by the patient; and (d) a conversion of the received patientself-selection of an aspect word into an integer subcode, the subcoderepresenting the received aspect word; wherein the computer device orprocessor alters the patient's therapy within the limitations of theTAPL based on at least one of the integer subcodes.
 10. The system ofclaim 9, wherein the listing of aspect words further includes at leastone of provocative, quality, region, severity, and timing.
 11. Thesystem of claim 9, wherein the TAPL further includes a limitationapplicable to at least one of: a maximum and minimum dosage changeassociated with a current therapy of the patient, a drug class, a drugtype, a drug brand, a dose, a route, a mode of drug administration, aformulation, a timing, and a frequency.
 12. The system of claim 9,wherein the available therapy changes further include at least one of:an increased dosage, a decreased dosage, a new treatment, a drug class,a drug type, a drug brand, a dose, a route, a mode of drugadministration, a formulation, a timing, and a frequency.
 13. The systemof claim 9, wherein the integer subcode that represents the receivedaspect word further identifies at least one of location, sensation, orfrequency.
 14. The system of claim 9, wherein the medication therapyself-management further includes therapy changes based on a subjectivepatient description of pain factored by a subjective objectivecorrelation factor (SOCF).
 15. The system of claim 12, wherein theavailable therapy changes further include an increase or decrease ofdosage in conformance with a treatment table factored by a subjectiveobjective correlation factor (SOCF).
 16. The system of claim 12, whereinthe new treatment further includes an additional or substitute therapytype.